Решение системы уравнений методом ньютона рафсона

Метод Ньютона

Единственные требования, накладываемые на функцию $f$ — что у неё есть хотя бы один корень и что она непрерывна и дифференцируема на интервале поиска.

#Описание алгоритма

Алгоритм начинает с какого-то изначального приближения $x_0$ и затем итеративно строит лучшее решение, строя касательную к графику в точке $x = x_i$ и присваивая в качестве следующего приближения $x_$ координату пересечения касательной с осью $x$. Интуиция в том, что если функция $f$ «хорошая», и $x_i$ уже достаточно близок к корню, то $x_$ будет ещё ближе.

Чтобы получить точку пересечения для $x_i$, нужно приравнять уравнение касательной к нулю:

$$ 0 = f(x_i) + (x_ — x_i) f'(x_i) $$ откуда можно выразить $$ x_ = x_i — \frac $$

Метод Ньютона крайне важен в вычислительной математике: в большинстве случаев именно он используется для нахождения численных решений уравнений.

#Поиск квадратных корней

В качестве конкретного примера рассмотрим задачу нахождения квадратных корней, которую можно переформулировать как решение следующего уравнения:

$$ x = \sqrt n \iff x^2 = n \iff f(x) = x^2 — n = 0 $$ Если в методе Ньютона подставим $f(x) = x^2 — n$, мы получим следующее правило: $$ x_ = x_i — \frac <2 x_i>= \frac <2>$$

Если нам нужно посчитать корень с некоторой заданной точностью $\epsilon$, можно на каждой итерации делать соответствующую проверку:

Алгоритм успешно сходится к правильному ответу для многих функций, однако это происходит надежно и доказуемо только для определенного множества функций (например, выпуклых). Другой вопрос — как быстра эта сходимость, если она происходит.

#Скорость сходимости

Запустим метод Ньютона для поиска квадратного корня $2$, начиная с $x_0 = 1$, и посмотрим, сколько первых цифр оказались правильными после каждой итерации:

Можно заметить, что число корректных цифр примерно удваивается после каждой итерации. Такая прекрасная скорость сходимости не просто совпадение.

Чтобы оценить скорость сходимости численно, рассмотрим небольшую относительную ошибку $\delta_i$ на $i$-ой итерации и посмотрим, насколько меньше станет ошибка $\delta_$ на следующей итерации.

$$ |\delta_i| = \frac<|x_n - x|> $$ В терминах относительных ошибок, мы можем выразить $x_i$ как $x \cdot (1 + \delta_i)$. Подставляя это выражение в формулу для следующей итерации и деля обе стороны на $x$ получаем $$ 1 + \delta_ = \frac<1> <2>(1 + \delta_i + \frac<1><1 + \delta_i>) = \frac<1> <2>(1 + \delta_i + 1 — \delta_i + \delta_i^2 + o(\delta_i^2)) = 1 + \frac<\delta_i^2> <2>+ o(\delta_i^2) $$

Здесь мы разложили $(1 + \delta_i)^<-1>$ в ряд Тейлора в точке $0$, используя предположение что ошибка $d_i$ мала: так как последовательность $x_i$ сходится к $x$, то $d_i \ll 1$ для достаточно больших $n$.

Наконец, выражая $\delta_$, получаем

что означает, что относительная ошибка примерно возводится в квадрат и делится пополам на каждой итерации, когда мы уже близки к решению. Так как логарифм $(- \log_ <10>\delta_i)$ примерно равен числу правильных значимых цифр числа $x_i$, возведение ошибки в квадрат соответствует удвоению значимых цифр ответа, что мы и наблюдали ранее.

Это свойство называется квадратичной сходимостью, и оно относится не только к нахождению квадратных корней. Оставляя формальное доказательство в качестве упражнения, можно показать, что в общем случае

$$ |\delta_| = \frac<|f''(x_i)|> <2 \cdot |f'(x_n)|>\cdot \delta_i^2 $$ что означает хотя бы квадратичную сходимость при нескольких дополнительных предположениях, а именно что $f'(x)$ не равна нулю и $f»(x)$ непрерывна.

Решение систем нелинейных уравнений установившегося режима методом Ньютона — Рафсона

Решение нелинейных уравнений методом Ньютона

Для решения электроэнергетических задач существует несколько моди-фикаций метода. Они позволяют увеличить скорость сходимости итераци-онного процесса и уменьшить время расчета.

Основное достоинство метода – он обладает быстрой сходимостью.

Идея метода состоит в последовательной замене на каждой итерации расчета исходной нелинейной системы уравнений некоторой вспомогатель-ной линейной системой уравнений, решение которой позволяет получить очередное приближение неизвестных, более близкое к искомому решению (линеаризация).

Рассмотрим нелинейное уравнение в общем виде:

(1)

— искомое решение уравнения – точка, в которой кривая пересекает ось абсцисс.

Задаем начальное приближение неиз-вестной х (0) . Определяем значение функции в этой точке w(х (0) ) и проводим касательную к кривой в точке В. Точка пересечения этой касательной с осью абсцисс определяет сле-дующее приближение неизвестной х (1) и т.д.

Разложим уравнение (1) в ряд Тейлора в окрестностях точки х (0) . Рас-смотрим члены разложения, содержащие только 1-ю производную:

(2)

х – х (0) = Δх — поправка к неизвестной. Если определим её, то сможем определить и следующее приближение.

Из (2) определяем поправку (3)

(4)

Тогда следующее приближение: (5)

Аналогично получаем к-е приближения:

Это рекуррентная формула метода Ньютона для решения нелинейных уравнений. Она позволяет определять очередные приближения неизвестных.

Формулу (6) можно получить другим способом из рисунка:

Итерационный процесс сходится, если уменьшается и приближается к 0. Результат достигнут, если .

Комментарий к геометрической интерпретации

Итерационный шаг метода сводится к замене кривой на прямую, ко-торая описывается левой частью уравнения (2). Она является касательной к кривой в точке . Этот процесс называется линеаризацией. Точка пере-сечения касательной к кривой с осью х дает очередное приближение неиз-вестной . Поэтому этот метод называется методом касательных.

Для того, чтобы определить этим методом все корни нелинейного урав-нения, нужно любым способом определить приблизительное расположение этих корней и задать начальные приближения в близи них.

Простой способ определения области расположения корней — табуляция.

Итерационный процесс Ньютона не сходится, если начальные приближения выбраны так, что:

Процесс или не сходится или сходится очень плохо.

Метод Ньютона-Рафсона для решения СНАУ

Рафсон показал, что итерационный метод Ньютона, предложенный для решения одного нелинейного уравнения, можно использовать для решения систем нелинейных уравнений.

При этом, для решения систем нелинейных уравнений нужно вместо од-ной неизвестной рассматривать совокупность(вектор) неизвестных:

,

вместо одной невязки уравнения, рассматриваем вектор невязок уравнений системы:

.

Одна производная в (6) замещается матрицей производных . Операция деления в (6) замещается умножением на обратную матрицу производных. В этом случае метод Ньютона-Рафсона отличается от метода Ньютона пере-ходом от одномерной задачи к многомерной.

Рассмотрим систему действительных нелинейных алгебраических уравне-ний:

(7)

В матричном виде ее можно записать:

(8)

где Х = х2 – вектор – столбец неизвестных;

w11, х2, … хn)

Пусть — начальные приближения неизвестных. Разложим каждое уравнение системы (7) в ряд Тейлора в окрестности точки Х (0) , то есть выполним приближенную замену исходных нелинейных уравнений линей-ными, в которых сохраняется только 1-я производная (линеаризация). В ре-зультате система уравнений (7) принимает вид:

(9)

В результате получили систему линейных уравнений (линеаризованная система), в которой неизвестными являются поправки . Коэф-фициенты при неизвестных в этой системе – первые производные от урав-нений wj исходной нелинейной системы по всем неизвестным Хi.. Они обра-зуют матрицу коэффициентов – матрицу Якоби:

=

Каждая строка матрицы состоит из первых производных от очередного урав-нения нелинейной системы по всем неизвестным.

Запишем линеаризованную систему (9) в матричной форме:

(10)

Здесь — вектор невязок уравнений исходной системы. Его эле-менты получаем при подстановке в уравнения нелинейной системы очеред-ных приближений неизвестных;

матрица Якоби. Ее элементами являются первые частные про-изводные от всех уравнений исходной системы по всем неизвестным;

вектор поправок к искомым неизвестным. На каждой итерации он может быть записан:

(11)

Систему (10) с учетом принятых обозначений можно записать:

(12)

или (13)

Эта система линейна относительно поправок ΔХ (к) .

Система (13) — линеаризованная система уравнений, которой заменяется исходная СНАУ на каждом шаге итерационного процесса.

Система (13) решается любым известным способом, в результате находим вектор поправок . Затем из (11) можем найти очередные приближения неизвестных:

(14)

Т.о. каждый шаг итерационного процесса состоит в решении линейной сис-темы (13) и определении очередного приближения из (14).

Из (11) и (12) можно получить общую рекуррентную формулу (в матричном виде), соответствующую методу Ньютона–Рафсона:

(15)

Она имеет структуру, соответствующую формуле (6).

Формула (15) в практических расчетах используется редко, так как здесь нужно обращать матрицу Якоби (большой размерности) на каждой итерации расчетов. В реальных расчетах поправки определяются в результате решения линейной системы (13).

Контроль завершения итерационного процесса выполняем по вектору невязок:

(16)

Это условие должно выполняться для невязок всех уравнений системы.

Алгоритм решения СНАУ методом Ньютона-Рафсона

1. Задание вектора начальных приближений неизвестных .

Задание точности расчета є , других параметров расчета

2. Определение невязок нелинейных уравнений в точке приближения ;

2.3. Определение элементов матрицы Якоби в точке очередного прибли-жения неизвестных ;

2.4. Решение линеаризованной системы (13) любым известным методом. Определение поправок к неизвестным .

2.5. Определение очередного приближения неизвестных в соответ-ствии с (14).

2.6. Контроль завершения итерационного процесса в соответствии с (16). Если условие не выполняется, то возврат к пункту 2.

Решить СЛАУ методом Ньютона-Рафсона:

(решение Х12=2)

Запишем уравнения в виде невязок:

Определяем элементы матрицы Якоби:

Матрица Якоби:

Линеаризованная система уравнений:

Реализуем алгоритм метода Ньютона-Рафсона:

1) Первая итерация:

Начальные приближения

Невязки

Матрица Якоби:

Линеаризованная система уравнений:

1-е приближение неизвестных:

2) Вторая итерация

3) Третья итерация:

Решение систем уравнений установившегося режима методом Ньютона-Рафсона

Нелинейное уравнение установившегося режима в форме баланса мощ-ности для -го узла имеет вид:

(17)

Это уравнение с комплексными неизвестными и коэффициентами. Для того, чтобы такие уравнения вида (17) можно было решать методом Ньюто-на-Рафсона, их преобразуют: разделяют действительные и мнимые части. В результате этого каждое комплексное уравнение вида (17) распадается на два действительных уравнения, которые соответствуют балансу активной и ре-активной мощности в узле:

. (18)

Здесь -заданные мощности в узле;

— неизвестные составляющие напряжения в узлах. Их нужно

определить в результате расчета.

В правой части уравнений (18) — расчетная суммарная мощность пере-токов в ветвях, подходящих к -му узлу.

Запишем эти уравнения (18) в виде невязок:

(19)

Невязки уравнений (19) соответствует расчетному небалансу активной и реактивной мощности в -ом узле.

Невязки описывают режим узла і и являются нелинейными функциями от неизвестных напряжений в узлах . Нужно, чтобы —> 0.

Будем решать методом Ньютона-Рафсона систему 2n уравнений вида (19), то есть для решения задачи расчета установившегося режима электри-ческой сети методом Ньютона — Рафсона нужно:

1) сформировать систему 2n уравнений вида (19) для всех узлов электрической сети, кроме балансирующих;

2) организовать итерационный процесс метода Ньютона-Рафсона

для решения этой системы уравнений. В результате решения

получаем искомые составляющие напряжений в узлах .

Запишем эту систему уравнений в общем виде:

(20)

Получили систему 2 нелинейных уравнений невязок с 2 неизвест-ными, которыми. Неизвестными в ней являются составляющие напряжения — модули и углы .

Для решения системы (20) методом Ньютона-Рафсона нужно составить вспомогательную линеаризованную систему уравнений вида (13), решая ко-торую на каждой итерации, определяем поправки к неизвестным:

(21)

С учетом принятых обозначений система (21) может быть записана:

(22)

где -матрица Якоби, её элементами являются частные производные от уравнений системы (20) по всем неизвестным — составляющим напряже-ний

вектор невязок уравнений системы (20). Их значения получаем при подстановке в уравнения очередных приближений неизвестных;

вектор поправок к неизвестным:

; ΔӨi = Өi (к+1) — Өi (к) , ΔUi = Ui (к+1) — Ui (к) .

Для определения элементов матрицы Якоби применяем аналитическое дифференцирование, т.е. дифференцируем каждое уравнение системы (20) по искомым величинам – углам и модулям напряжений. Чтобы сформировать матрицу Якоби, нужно получить аналитические выражения для производных следующих видов:

1) Производная от уравнения невязки активной мощности го узла по углу напряжения этого же узла: ;

2) Производная от уравнения невязки активной мощности го узла по углу напряжения смежного j-го узла: ;

3) Производная от невязки активной мощности го узла по модулю напряжения этого же узла: ;

4) Производная от невязки активной мощности го узла по модулю напряжения смежного узла: ;

Аналогично определяются ещё четыре вида производных – производные от уравнений невязки реактивной мощности го узла по всем неизвестным:

5) ; 6) ; 7) ; 8) .

С учетом этих производных матрицу Якоби можно записать в общем виде:

(23)

Определим аналитические выражения для производных, дифференци-руя уравнения системы (20) по неизвестным величинам. Они имеют вид:

(24)

Матрица Якоби в общем случае — квадратная матрица, симметричная, размерностью , её элементами являются частные производные от невязок уравнений (небаланса мощностей) по всем неизвестным.

Если узлы не связаны между собой, то соответствующие произ-водные в матрицы матрице Якоби, расположенные вне диагонали, будут равны нулю (аналогично матрице проводимостей) – т.к. в соответствующих форму-лах (24) взаимная проводимость yij является сомножителем и . yij =0.

Каждая строка матрицы – это производные от очередного уравнения системы (20).

Наличие в схеме моделируемой сети особых узлов (опорные и балансирую-щие узлы, узлы ФМ) сказывается на структуре системы уравнений устано-вившегося режима и на структуре матрицы Якоби:

1. Для узлов с фиксацией модуля напряжения (ФМ), в которых заданы и неизвестными являются и , из матрицы Якоби исключается стро-ка производных ( т.к. Qi не задана, то и уравнение баланса реак-тив-ной мощности (18), (19) составить нельзя) и столбец производных (т.к. модуль напряжения Ui известен и он исключается из состава неизвест-ных).

2. Для узлов опорных и балансирующих – соответствующие строки и столбцы матрицы исключаются;

3. Если узлы не связаны непосредственно – соответствующие произ-водные в матрице равны нулю.

Матрицу Якоби можно разбить на четыре блока:

1) — производные от уравнений небаланса активной мощности (20) по углам напряжений;

2) — производные от уравнений небаланса активной мощности по модулям напряжений;

3) — производные от уравнений небаланса реактивной мощности (20) по углам напряжений;

4) — производные от уравнений небаланса реактивной мощности по модулям напряжений.

Это матрицы-клетки частных производных небалансов активной и реактив-ной мощностей по неизвестным углам и модулям напряжений. В общем случае, это квадратные матрицы размерностью n×n.

С учетом этого, матрица Якоби может быть представлена в виде блочной мат-рицы:

, где субвектора неизвестных величин.

С учетом этого,Тогда линеаризованную систему уравнений (22) можно запи-сать в ви-де:

. (25)

Решая эту линейную систему уравнений (любым известным методом) на

кКаждой итерации метода, находим поправки к неизвестным , а затем и

очередные приближения неизвестных:

(26)

Очередное приближение неизвестных можно, также, получить с использо-ванием итерационной формулы метода Ньютона-Рафсона, аналогичной (15):

· (27)

Тут требуется обращение матрицы Якоби на каждой итерации – громоздкая вычислительная операция.

Алгоритм решения систем уравнений установившегося режима методом Ньютона — Рафсона

1. Задание начальных значений неизвестных напряжений . В ка-честве начальных приближений принимаем: , т.е. номинальные напряжения узлов;

2. Задание условий расчета: точность ε, предельное количество итера-ций , ускоряющие коэффициенты и др.

3. Определение невязок уравнений в соответствии с уравнениями (20) при очередных приближениях неизвестных;

4. Определение элементов матрицы Якоби в соответствии с (24) при очередных приближениях неизвестных;

5. Решение линеаризованной системы уравнений (25) и определение поправок к неизвестным ;

6. Определение очередных приближений неизвестных в соответствии с (26);

7. Проверка завершения итерационного процесса:

Значения невязок уравнений для всех узлов должны быть меньше задан-ной точности.

Если условие не выполняется, то возврат к пункту 3 и повторение рас-чета при новых приближениях неизвестных.

Существует ряд модификаций метода Ньютона-Рафсона. В том числе:

1. Модифицированный метод Ньютона-Рафсона.

Матрицу Якоби рассчитывают один раз при начальных значениях неизвест-ных. На последующих итерациях она принимается постоянной. Это значи-тельно сокращает объем вычислений на каждой итерации, но увеличивает ко-личество итераций.

2. Разделенный метод Ньютона-Рафсона.

Производные вида очень малы и их значениями можно прине-бречь. В результате, в матрице Якоби остаются два блока — 1-й и 4-й, и сис-тема (25), состоящая из уравнений, распадается на две независимые сис-темы размерностью . Каждая из этих систем решается отдельно от другой. Это приводит к сокращению объема вычислений и необходимой памяти ЭВМ.

Дата добавления: 2015-10-05 ; просмотров: 6382 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

5.2.1. Метод Ньютона–Рафсона

Идея метода заключается в линеаризации уравнений системы (5.1), что позволяет свести исходную задачу решения СНУ к многократному решению системы линейных уравнений.

Рассмотрим, как были получены расчетные зависимости метода.

Пусть известно приближение xi(k) решения системы нелинейных уравнений xi*. Введем в рассмотрение поправку Dxi как разницу между решением и его приближением:

,

Подставим полученное выражение для xi* в исходную систему.

Неизвестными в этой системе нелинейных уравнений являются поправки Dxi. Для определения Dxi нужно решить эту систему. Но решить эту задачу так же сложно, как и исходную. Однако эту систему можно Линеаризовать, и, решив ее, получить Приближенные значения поправок Dxi для данного приближения, т. е. Dxi(k). Эти поправки не позволяют сразу получить точное решение , но дают возможность приблизиться к решению, – получить новое приближение решения

, (5.14)

Для линеаризации системы следует разложить функцию fi в ряды Тейлора в окрестности xi(k), ограничиваясь первыми дифференциалами.

Полученная система имеет вид:

, (5.15)

Все коэффициенты этого уравнения можно вычислить, используя последнее приближение решения xi(k). Для решения системы линейных уравнений (5.15) при n=2,3 можно использовать формулы Крамера, при большей размерности системы n – метод исключения Гаусса.

Значения поправок используются для оценки достигнутой точности решения. Если максимальная по абсолютной величине поправка меньше заданной точности e, расчет завершается. Таким образом, условие окончания расчета:

δ =

Можно использовать и среднее значение модулей поправок:

В матричной форме систему (5.15 ) можно записать как:

(5.16)

, — матрица Якоби (производных),

— вектор поправок

— вектор-функция

W(X(k)) – матрица Якоби, вычисленная для очередного приближения.

F(X(k)) – вектор-функция, вычисленная для очередного приближения.

Выразим вектор поправок ∆X(k) из (5.16):

Где W-1 – матрица, обратная матрице Якоби.

Окончательно формула последовательных приближений метода Ньютона решения СНУ в матричной форме имеет вид:

(5.17)

Достаточные условия сходимости для общего случая имеют очень сложный вид, и на практике проверяются редко. Нужно отметить, что метод сходится очень быстро (за 3 – 5 итераций), если det|W| ¹ 0 и начальное приближение X(0) выбрано близким к решению (отличаются не более чем на 10%).

Алгоритм решения СНУ методом Ньютона состоит в следующем:

1. Задается размерность системы n, требуемая точность ε, начальное приближенное решение X = (xi)n.

2. Вычисляются элементы матрицы Якоби W = (¶¦i ¤ ¶xj)n, n.

3. Вычисляется обратная матрица W-1.

4. Вычисляется вектор функция F=(fi)n, , .

5. Вычисляются вектор поправок

6. Уточняется решение

7. Оценивается достигнутая точность δ= или

8. Проверяется условие завершения итерационного процесса

Если оно не соблюдается, алгоритм исполняется снова с пункта 2.

Для уменьшения количества арифметических действий Рафсон предложил не вычислять обратную матрицу W-1, а вычислять поправки как решение СЛУ (5.15)

Схема алгоритма метода Ньютона — Рафсона представлена на рис.5.2. При разработке схемы учтена необходимость защиты итерационного цикла от зацикливания: введен счетчик итераций k и ограничение на число итераций kmax (на практике не более 100).


источники:

http://helpiks.org/5-52821.html

http://matica.org.ua/metodichki-i-knigi-po-matematike/vychislitelnaia-matematika/5-2-1-metod-niutona-rafsona