Материал: 1310

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

3.2. Метод Зейделя для решения систем линейных уравнений

В формуле итерационного процесса метода простых итераций к моменту вычисления xi(k) уже вычислены значения x1(k),x2(k),...,xi− 1(k). Очевидно, что эти значения в большинстве случаев ближе к решению и их можно использовать для вычисления xi(k). Исходя из этого можно модифицировать формулу итерационного процесса метода простой итерации следующим образом:

 

1

 

i 1

n

 

 

Xi(k)

(bi ai, j xkj

ai, j xkj 1),

 

.

i 1,n

ai,i

 

 

j 1

j 1 1

 

 

 

 

1

n

И

Условие завершения итерационного процесса и условия сходимости

метода простой итерации справедливы и для данного метода. Поэтому схе-

 

 

 

Д

ма алгоритма Зейделя отлична только формулой расчета нового приближе-

ния:

А

 

 

 

 

 

 

xi

 

(bi ai, j xj ),

i 1,n .

 

 

б

 

 

 

 

ai,i

j 1

 

 

 

i j

Данный метод позволяет достигать требуемой точности ε за меньшее число итераций, т.е. имеет лучшую сходимость.

Достоинства итерац онных методов для решения систем линейных уравнений следующие:

1.

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

2. Число итераций ипри n > 100 обычно меньше n , поэтому общее число

действий меньше n3, т.е. меньше, чем в методе исключений Гаусса.

3.

Не требуется больший объем памяти.

4.

ИтерационныеСметоды особенно выгодны для систем с большим ко-

личеством нулевых коэффициентов (систем с разряженной матрицей коэффициентов).

Недостаток − не всегда можно обеспечить сходность итерационного процесса. С увеличением размерности системы труднее выполнить линейные преобразования для обеспечения сходимости.

16

4.ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ СИСТЕМ НЕЛИНЕЙНЫХ УРАВНЕНИЙ

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

Запишем систему n нелинейных уравнений с n неизвестными в общем

виде:

f1(x1, x2, …, xn) = 0; f2(x1, x2, …, xn) = 0;

…

fn(x1, x2, …, xn) = 0.

Эту систему можно записать в компактной, операторной форме:

F(X) = 0,

 

 

 

 

И

 

 

 

 

 

где

 

 

 

 

 

x

 

 

 

 

 

 

 

 

f1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Д1

 

 

 

 

 

 

 

 

 

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

 

 

 

 

вектор неизвестных

F f

2

 

X x2

...

 

 

А

...

 

 

 

 

 

 

 

 

 

 

б

 

 

 

 

 

 

 

 

 

 

fn

 

 

 

 

xn

 

 

 

 

 

 

 

Решением системыиназывается набор значений

x

 

i

 

 

 

,

1,n

(вектор

 

 

С

 

 

 

 

 

 

i

 

 

 

 

 

X*), при которых все функции fi равны 0 (система нелинейных уравнений обращается в тождество).

Системы нелинейных уравнений могут иметь единственное решение, множество решений или вообще не иметь его. Поэтому численное решение проводят в два этапа:

1-й этап – отделение решений.

2-й этап – уточнение всех или только нужных решений.

Отделить решения – значит установить количество решений, определить приближенные значения каждого из них или указать область, в которой решение существует и является единственным [3].

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

17

f1(x1, x2) = 0; f2(x1, x2) = 0.

Для этого необходимо в координатах (x1, x2) построить кривые f1(x1,х2) = 0, f2(x1,х2) = 0.

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

x2

 

 

 

f2(x1,х2)=0

 

 

Имеется два решения.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D1 – область существования первого

 

 

 

 

 

 

 

D1

 

 

 

b2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

решения.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D1 = {a1 < x 1< b1 , a2 < x 2< b2}.

 

 

 

 

 

 

 

 

 

 

a2

 

 

 

 

 

 

 

 

 

 

 

 

 

f1(x1,х2)=0

 

И

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Д

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a1 x1* b1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

 

Рис. 2. Графическое отделение решение системы нелинейных уравнений

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А

 

Для систем с больш м ч слом неизвестных (n 3) общих методов оп-

 

 

 

 

 

 

 

 

 

 

 

 

 

б

 

 

 

 

ределения области существован я решения нет. Поэтому при решении сис-

тем нелинейных уравненийиэта область обычно определяется при анализе

решаемой задачиС, например, исходя из физического смысла неизвестных проектируемого объекта.

Отделение решений позволяет:

1.Выявить число решений и область существования каждого из них.

2.Проанализировать возможность применения выбранного метода решения СНУ в каждой области.

3.Выбрать начальное приближение решения X(0) из области его сущест-

вования, так что X(0) D.

При отсутствии информации об области существования решения выбор начального приближения X(0) проводится произвольным способом и варьируется в ходе вычислительного эксперимента. Уточнение интересующего решения до требуемой точности ε производится итерационными методами.

18

4.1. Метод простых итераций для решения систем нелинейных уравнений

Метод простых итераций заключается в замене исходной системы уравнений эквивалентной системой X = Φ(X) и построении итерационной

последовательности

X(k) = Φ(X(k − 1)) , где k = 1, 2, 3,… − номер итерации, которая при k→∞ сходится к точному решению.

Здесь Φ(X) − вектор-функция; X(0) D – начальное приближение решения. В развернутом виде формула итерационного процесса (выражение для вычисления очередного k-го приближения решения) имеет вид

xi.(k)

= φi(x1(k− 1), x2(k− 1), … , xn(k− 1)),

i

 

 

И

 

 

1,n.

Условие окончания расчета

А

 

 

 

δ ≤ ε,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Д

где ε

заданная точность решения;

δ =

max | xi(k ) xi(k 1) |

 

 

 

 

 

 

 

 

 

 

i 1,n

 

 

 

 

и

 

 

 

 

 

или

 

 

 

 

1

 

 

 

 

 

 

С

б

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

(k )

 

 

(k 1)

 

 

 

 

δ =

 

 

| xi

 

xi

|.

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

Итерационный процесс сходится к точному решению, если в окрестно-

сти решения соблюдаются условия сходимости:

n

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,

i

1,n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j 1

 

x j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,

j 1,n

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

x j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

19

4.2. Метод Ньютона для решения систем нелинейных уравнений

Идея метода заключается в линеаризации уравнений системы нелинейных уравнений, что позволяет свести исходную задачу к многократному решению системы линейных уравнений [3].

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

Δxi x*i xi(k) x*i xi(k) Δxi , i 1,n.

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

f (x(k)

Δx , x(k) Δx

,...,x(k) Δx ) 0;

 

1

1

1

2

2

 

n

 

n

 

 

 

f

2

(x(k)

Δx , x

(k)

Δx

2

, ...,x

(k)

Δx

n

) 0;

 

1

1

 

2

 

 

n

 

)И0.

…

(x(k)

 

 

(k)

 

 

, ...,x(k)

 

 

f

n

Δx , x

Δx

2

Δx

n

 

1

1

 

2

 

 

n

 

 

 

Неизвестными в этой системе нелинейныхД

уравнений являются по-

задачу так же сложно, как и исходнуюА. Однако эту систему можно линеари-

правки xi. Для определения xi нужно решить эту систему. Но решить эту

зовать, и, решив ее, получ ть при лиженные значения поправок xi для

 

 

 

(k)

данного приближения, т.е. бxi . Эти поправки не позволяют сразу получить

 

i

и

точное решение x*

, но дают возможность приблизиться к решению, – по-

лучить новое приближение решения

(k 1)

(Сk) (k)

 

 

 

, i 1,n.

xi

xi

Δxi

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

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

n f

(x(k)

,x(k)

,...,x(k))

 

 

 

 

 

 

 

i

1

2

n

Δxi(k) fj(x1(k),x2(k),...,xn(k)),

j 1,n.

 

 

xi

 

i 1

 

 

 

 

 

 

 

20

Источник: https://studfile.net/preview/16407367/