Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ua_ru_ОТР_part2.doc
Скачиваний:
15
Добавлен:
28.04.2019
Размер:
1.24 Mб
Скачать

5.3.3 Метод простых итераций

Для метода простых итераций можно записать: , где . Считаем, что начальное приближение известно. В общем случае, если известно е приближение, то приближение находят по формулам:

, i=1,2,…,m.

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

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

.

Скорость сходимости метода простых итераций, как и раньше, линейная:

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

      1. Рішення систем нелінійних рівнянь за допомогою функції fsolve

Вызов функции осуществляется оператором:

[x, fval, exitflag, output] = fsolve(F, x0, options)

Здесь:

F – ссылка на функцию, которая вычисляет вектор-функцию системы;

х0 – вектор – начальное приближение;

Options – задает параметры расчетов в виде optimset(‘свойство1’,’значение1’,’ свойство2’,’ значение2’,…)

х – вычисленный вектор решения системы;

fval – вычисленное значение нормы вектор-функции в точке х;

exitflag – признак, что решение найдено.

Пример 5.4. Решить систему

Составим функцию для вычисления вектор-функции системы. Если хотим использовать метод Ньютона, то вычисляем и Якобиан.

function [y,j]=funscj(x)

y=[x(1)+x(2)-sin(pi*x(1));x(1)-x(2)-cos(pi*x(2))];

if nargout>1

j=[1-pi*cos(pi*x(1)) 1;1 -1+pi*sin(pi*x(2))];

end;

Вызов функции и результат приведены ниже.

>>[x,ff,e_flag,inform]=fsolve(@funscj, [1,0.5],optimset('Jacobian','on'))

x = 0.5000 0.5000

ff = 3.0e-008 *

0.1653

0.0000

e_flag = 1

inform = iterations: 6

funcCount: 7

algorithm: 'trust-region dogleg'

firstorderopt: 3.6525e-009

message: 'Optimization terminated: first-order optimality is less than options.TolFun.'

5.4 Индивидуальные задания к лабораторной работе

  1. Выполните решение системы нелинейных уравнений методом Ньютона с точностью 0.0003.

  2. Проделать вручную три итерации

  3. Наряду с "ручным" решением представьте решения, получаемые стандартными средствами MatLab.

Таблица 5.1 – Варианты индивидуальных заданий

Системы нелинейных уравнений

Системы нелинейных уравнений

1

sin(x+1)-y=3.2 2x+cos(x)=2

13

x2+ y2=5 y= e-xy

2

tg(xy+0.4)= x2 0.6 x2 +2 y2=1

14

sin(x-0.6)-y=3.6 3x-cos(y)=0.9

3

cos(x-1)+y=0.5 x-cos(x)=3

15

x2+ y2=6 y= e-x

4

sin(x)+2y=2 cos(y-1)+x=0.7

16

x3+ y3=6 y= e-x

5

cos(x-1)+y=1 sin(y)+2x=3.6

17

x4+ y4=5 y= e-x

6

sin(x+1)-y=1 2x+cоs(y)=2

18

x2+ y2=1 sin(x+y)=3.2x

7

sin(x-y)-xy=0 x2- y2=0.75

19

x2+ y2=1 sin(x+y)=0.2+x

8

sin(x+y)-3.5xy=0 x2+ y2=1

20

x+cos(y-1)=0.8 y- cos(x)=2

9

sin(x-y)- xy+1=0 x2- y2=0.75

21

x2+ y2=1 x3+ y3=2

10

y=1/(x3/2+1) x2+ y2=9

22

x2+ y2=1 x - y3=0.5

11

x2+ y2=9 y=1+ e-x

23

x3+ y3=8 y=x3/2

12

x2+ y2=5 y=1-2 e-xy

24

x3+ y3=8 y=1+x3/2

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]