Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Решение систем нелинейных уравнений методом итераций




Решение.

Решение.

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

Рассмотрим систему двух нелинейных уравнений с двумя неизвестными

где и - непрерывно дифференцируемые функции.

Рассмотрим решение системы приближённым методом Ньютона. Будем искать корни системы с точностью ε. Пусть - начальное приближение искомого решения, - n -е приближение решения. Более точное (n+1) -е приближение корней вычисляется по формулам:

 

где и – поправочные коэффициенты.

Для нахождения поправок и требуется решить систему линейных уравнений

 

   

 

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

Решая систему методом Крамера, находим поправки и по формулам:

 

где , где ,

 

Вычисления продолжаются до тех пор, пока не будет выполнено условие

,

 

Пример. Решить систему нелинейных уравнений с заданным начальным приближением в точке методом Ньютона. Корни найти с точностью ε=0,001.

Для данной системы имеем:

Необходимые для решения частные производные:

Проведем расчеты на первой итерации.

Составим систему

   

 

Для этого вычислим:

;

 

Система принимает вид:

Решая эту систему по формулам Крамера, получаем:

;

.

Отсюда по формулам

 

получаем:

 

Дальнейшие расчёты занесём в таблицу вычислений, полученную с помощью Microsoft Excel:

x y f g f I(x) f I(y) g I(x) g I(y)
0 2,0000 2,0000 1,0000 1,8647 7,3891 -7,3891 0,1353 1,0000
1 0,2384 0,3737 0,8161 -0,4141 1,2692 -1,4532 0,7879 1,0000
2 0,1497 0,8578 -0,1965 -0,0032 1,1614 -2,3580 0,8610 1,0000
3 0,2136 0,8059 -0,0007 -0,0017 1,2381 -2,2388 0,8077 1,0000
4 0,2151 0,8065 0,0000 0,0000 1,2400 -2,2400 0,8065 1,0000

Продолжение таблицы:

d dh dk h k x new y new
0 8,3891 -14,7781 -13,6428 -1,7616 -1,6263 0,2384 0,3737
1 2,4141 -0,2142 1,1686 -0,0887 0,4841 0,1497 0,8578
2 3,1917 0,2041 -0,1655 0,0639 -0,0519 0,2136 0,8059
3 3,0464 0,0045 0,0016 0,0015 0,0005 0,2151 0,8065
4 3,0464 0,0000 0,0000 0,0000 0,0000 0,2151 0,8065

Расчётная таблица Microsoft Excel, отображающая формулы:

x y f g f1x f1y g1x g1y
    =EXP(A2)-EXP(B2)+1 =B2-EXP(-A2) =EXP(A2) =-EXP(B2) =EXP(-A2) =1
=N2 =O2 =EXP(A3)-EXP(B3)+1 =B3-EXP(-A3) =EXP(A3) =-EXP(B3) =EXP(-A3) =1
=N3 =O3 =EXP(A4)-EXP(B4)+1 =B4-EXP(-A4) =EXP(A4) =-EXP(B4) =EXP(-A4) =1
=N4 =O4 =EXP(A5)-EXP(B5)+1 =B5-EXP(-A5) =EXP(A5) =-EXP(B5) =EXP(-A5) =1
=N5 =O5 =EXP(A6)-EXP(B6)+1 =B6-EXP(-A6) =EXP(A6) =-EXP(B6) =EXP(-A6) =1

Продолжение таблицы:

d dh dk h k x new y new
=E2*H2-F2*G2 =-C2*H2+D2*F2 =E2*(-D2)+G2*C2 =J2/I2 =K2/I2 =A2+L2 =B2+M2
=E3*H3-F3*G3 =-C3*H3+D3*F3 =E3*(-D3)+G3*C3 =J3/I3 =K3/I3 =A3+L3 =B3+M3
=E4*H4-F4*G4 =-C4*H4+D4*F4 =E4*(-D4)+G4*C4 =J4/I4 =K4/I4 =A4+L4 =B4+M4
=E5*H5-F5*G5 =-C5*H5+D5*F5 =E5*(-D5)+G5*C5 =J5/I5 =K5/I5 =A5+L5 =B5+M5
=E6*H6-F6*G6 =-C6*H6+D6*F6 =E6*(-D6)+G6*C6 =J6/I6 =K6/I6 =A6+L6 =B6+M6

 

Так как и , то окончательно имеем корни системы

Причем, ;

;

Ответ:

 

program Met_Nutona_EXAMPLE;

var

x0, y0, xn, yn, xk, yk,eps,t,p:real;

function f(x,y:real):real; {подпрограмма-функция вычисления f(x) }

begin

f:=exp(x)-exp(y)+1;

end;

function g(x,y:real):real; {подпрограмма-функция вычисления g(x) }

begin

g:=y-exp(-x);

end;

function f1x(x,y:real):real; {подпрограмма-функция вычисления f I (x) }

begin

f1x:=exp(x);

end;

function f1y(x,y:real):real; {подпрограмма-функция вычисления f I (y) }

 

begin

f1y:=-exp(y);

end;

function g1x(x,y:real):real; {подпрограмма-функция вычисления g I (x) }

begin

g1x:=exp(-x);

end;

function g1y(x,y:real):real; {подпрограмма-функция вычисления g I (y) }

begin

g1y:=1;

end;

function h(x,y:real):real; {подпрограмма-функция вычисления поправочного коэффициента h }

begin

h:=(-f(x,y)*g1y(x,y)+f1y(x,y)*g(x,y))/(f1x(x,y)*g1y(x,y)-f1y(x,y)*g1x(x,y)); {вычисления проводятся по формулам Крамера}

end;

function k(x,y:real):real; {подпрограмма-функция вычисления поправочного коэффициента k }

begin

k:=(f1x(x,y)*(-g(x,y))+f(x,y)*g1x(x,y))/(f1x(x,y)*g1y(x,y)-f1y(x,y)*g1x(x,y)); {вычисления проводятся по формулам Крамера}

end;

begin

writeln('Метод Ньютона');

writeln('Введите x0, y0');

readln(x0, y0);

xn:=x0;

xk:=y0;

eps:=0.001;

yk:=y0+k(x0,y0);

xk:=x0+h(x0,y0);

write('x=',xk:3:4);

write(' y=',yk:3:4);

write(' f(x,y)=',f(xk,yk):3:4);

writeln(' g(x,y)=',g(xk,yk):3:4);

repeat {вычислительный цикл по формуле

xn:=xk; метода Ньютона с промежуточным

yn:=yk; выводом результатов на печать}

xk:=xn+h(xn,yn);

write('x=',xk:3:4);

yk:=yn+k(xn,yn);

write(' y=',yk:3:4);

write(' f(x,y)=',f(xk,yk):3:4);

writeln(' g(x,y)=',g(xk,yk):3:4)

until (abs(h(xk,yk))<eps)and(abs(k(xk,yk))<eps); {условие завершения вычислений}

writeln('Решение системы уравнений x=', xk:4:3,' y=',yk:4:3);

end.

 

Результат работы программы:

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

Введите х0, у0

x=0.2384 y=0.3737 f(x,y)=0.8161 g(x,y)=-0.4141

x=0.1497 y=0.8578 f(x,y)=-0.1965 g(x,y)=-0.0032

x=0.2136 y=0.8059 f(x,y)=-0.0007 g(x,y)=-0.0017

x=0.2151 y=0.8065 f(x,y)=0.0000 g(x,y)=0.0000

Решение системы уравнений х=0.215 y=0.806

 

Пример. Решить систему нелинейных уравнений методом Ньютона. Корни найти с точностью ε=0,001.

Для данной системы имеем:

 

Графически найдём начальное приближение искомого решения. Для этого построим графики функций

По полученному чертежу определяем наименьшее положительное решение – начальное приближение .

Находим необходимые для решения частные производные:

Проведем расчеты на первой итерации.

Составим систему

   

 

Для этого вычислим:

0,6000 0,7000 0,0036 -0,1500 -1,3325 0,2675 1,2000 1,4000

 

Система принимает вид:

Решаем эту систему методом Крамера. Все расчёты занесём в таблицу вычислений, полученную с помощью Microsoft Excel:

x y f g f I(x) f I(y) g I(x) g I(y)
0 0,6000 0,7000 0,0036 -0,1500 -1,3325 0,2675 1,2000 1,4000
1 0,6206 0,7895 -0,0059 0,0084 -1,4400 0,1600 1,2413 1,5789
2 0,616 0,788 0,0000 0,0000 -1,4338 0,1662 1,2326 1,5750

Продолжение таблицы:

d dh dk h k x new y new
0 -2,1865 -0,0451 -0,1956 0,0206 0,0895 0,6206 0,7895
1 -2,4722 0,0107 0,0048 -0,0043 -0,0020 0,6163 0,7875
2 -2,4631 0,0000 0,0000 0,0000 0,0000 0,6163 0,7875

Расчётная таблица Microsoft Excel, отображающая формулы:

x y f g f1x f1y g1x g1y
0,6 0,7 =SIN(A2+B2)-1,6*A2 =A2^2+B2^2-1 =COS(A2+B2)-1,6 =COS(A2+B2) =2*A2 =2*B2
=N2 =O2 =SIN(A3+B3)-1,6*A3 =A3^2+B3^2-1 =COS(A3+B3)-1,6 =COS(A3+B3) =2*A3 =2*B3
=N3 =O3 =SIN(A4+B4)-1,6*A4 =A4^2+B4^2-1 =COS(A4+B4)-1,6 =COS(A4+B4) =2*A4 =2*B4

Продолжение таблицы:

d dh dk h k x new y new
=E2*H2-F2*G2 =-C2*H2+D2*F2 =E2*(-D2)+C2*G2 =J2/I2 =K2/I2 =A2+L2 =B2+M2
=E3*H3-F3*G3 =-C3*H3+D3*F3 =E3*(-D3)+C3*G3 =J3/I3 =K3/I3 =A3+L3 =B3+M3
=E4*H4-F4*G4 =-C4*H4+D4*F4 =E4*(-D4)+C4*G4 =J4/I4 =K4/I4 =A4+L4 =B4+M4

 

Так как и , то окончательно имеем корни системы

Причем, ;

.

Заданная точность вычислений достигнута.

 

Результат работы программы:

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

Введите х0, у0

0.6 0.7

x=0.6206 y=0.7895 f(x,y)=-0.0059 g(x,y)=0.0084

x=0.6163 y=0.7875 f(x,y)=0.0000 g(x,y)=0.0000

Решение системы уравнений х=0.616 y=0.788

Ответ:

 

Пример. Решить систему нелинейных уравнений методом итераций. Корни найти с точностью ε=0,001.




Поделиться с друзьями:


Дата добавления: 2017-02-01; Просмотров: 66; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopediasu.com - Студопедия (2013 - 2026) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.