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

accel1:=x-f/d1-der2(x)*f*f/(2*d1 3)

end.

Метод Эйткена - Стеффенсона. Если функция F(x) не­­пре­рывна и трижды непрерывно диф­фе­рен­ци­руема на от­рез­ке [a, b], причем |F'(x)| < 1, то схо­ди­мость ите­ра­ци­он­ного про­цесса может быть зна­чи­тельно уве­ли­че­на, если использовать сле­­ду­ю­­щий алгоритм. На каж­дом ша­ге вы­чис­ле­ния про­­во­дятся в три этапа: на­хо­дим , затем на ос­но­ве рас­считываем и далее по трем зна­че­ни­ям хn , , оп­ре­де­ляем при­бли­же­ние по сле­ду­ю­­щей фор­муле:

. (1.21)

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

­це­дуре-функ­ции accel2. Зна­че­ние и тип па­рамет­ров яс­ны из тек­с­та про­це­ду­ры-функ­ции accel2, ко­то­рая, в свою оче­редь, об­ра­ща­ет­ся к функции, воз­вра­ща­ю­щей зна­че­ние F(x).

Function accel2(x:real) : real;

var f1,f2 : real;

begin

{ ** func вычисляет значение функции в точке x **}

f1:=func(x);

f2:=func(f1);

accel2:=(x*f2-f1*f1)/(f2-2*f1+x)

end; { *** accel2 ***} .

Сравнительные расчеты, выполненные с ис­поль­­зо­ва­ни­­ем процедур accel1, accel2 (по формулам 1.20 и 1.21) и newt, ре­а­ли­з­у­ющей метод Ньютона (1.19), по­­ка­зали, что при ис­поль­зовании "ускоряющих" про­цедур для не­ко­то­рых функ­ций удается до­бить­ся ускорения схо­ди­мости в 3 - 5 раз.

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

Система m линейных алгебраических ура­в­не­ний с n не­известными в общем виде может быть за­­­писана сле­ду­ющим образом:

(1.22)

или в матричном виде AX = B, где A - прямоу­голь­­­ная мат­рица размерности m´n, X - век­тор n-го по­ряд­ка, B - век­тор m-го порядка. Ре­ше­нием сис­­темы (1.22) на­зы­ва­ет­ся такая упо­­ря­до­ченная со­­во­куп­ность чисел которая об­ра­ща­ет все уравнения сис­­те­мы в вер­ные ра­­вен­ства. Две системы называются эк­­ви­ва­лентными (рав­но­­силь­ны­ми), если множества их ре­ше­­ний сов­­падают.

Система линейных уравнений называется сов­­­мест­­­­ной, ес­ли она имеет хотя бы одно ре­ше­ние, и не­­сов­­мест­ной - в про­тивном случае. Сов­мест­­ная сис­­те­ма на­зы­ва­ет­­ся определенной, если она имеет един­ст­вен­ное ре­ше­ние, и не­оп­ре­де­лен­ной - в про­тив­­ном слу­чае. Система яв­ля­­ется опре­де­­ленной, ес­­ли rang A = rang B, где матри­ца B, по­­лученная из матрицы A добавлением стол­бца сво­бод­ных чле­­нов, на­зы­­вается рас­ши­рен­ной.

Если матрица A - квадратная и det A  0, то она на­зы­­вается неособенной (невырожденной), при этом сис­те­ма уравнений, имеющая не­о­со­бен­ную мат­ри­цу A, сов­мес­­тна и имеет единственное ре­­шение.

Eсли уравнения (1.22) являются не­ли­ней­­­ными от­но­си­тельно неизвестного вектора Х, то со­от­вет­с­т­ву­ю­щая сис­тема, записанная в век­тор­ной форме

(1.23)

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

1 < k < n.

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

Соседние файлы в папке glava1