Метод Ньютона для розв’язання нелінійних рівнянь (метод дотичних)
Метод Ньютона Використовується, якщо можна знайти значення ф-ції f(x) та її похідної f ’(x) у всіх точках інтервалу [a,b] Лінеаризуємо f(x) в околі точки xc за допомогою частини ряду Тейлора:
Ітераційна ф-ла методу Ньютона
Геометричне пояснення
(x1,f(x1)) (x2=x1-f(x1)/f’(x1),0) Перша ітерація:
(x2,f(x2)) (x3=x2-f(x2)/f’(x2),0) Наближаємося до кореня Друга ітерація
Збіжність методу Ньютона (x1,f(x1)) (x2=x1-f(x1)/f’(x1),0) Якщо вибрати стартову x1 поблизу точки перегину. Тоді дотична буде перетинати вісь далеко від кореня!
Збіжність методу Ньютона
Метод збігається
Метод не збігається
Покращення збіжності методу Ньютона, порівняно з іншими методами, досягається збільшенням витрат на виконання кожного кроку, оскільки на кожному кроці треба обчислювати не тільки значення функції f(x), але й значення її похідної f ′(x).
Модифікований метод Ньютона
Вибір початкового наближення x0
Обчислення похідної Аналітичним методом (створення підпрограми-функції); Чисельним методом:
Програма до методу Ньютона Program Newt; uses crt; var a,b,x,e:real; i:integer; const d=0.001; N=1000; Function f(x:real):real; begin f:=sin(x); end; Function fp(x:real):real; begin fp:=(f(x+d)-f(x))/d; end; Function fpp(x:real):real; begin fpp:=(f(x+d)-2*f(x)+f(x-d))/(d*d); end;
BEGIN a:=-1; b:=1; e:=0.000001; if (f(a)*fpp(a)>0) then x:=a else x:=b; i:=0; while abs(f(x))>e do begin x:=x-f(x)/fp(x); i:=i+1; if i>N then begin writeln ('Korin ne znajdeno'); halt end end; writeln('Korin x=',x, ' Znajdeno za ',i,' iteracij'); writeln('F(x)=',f(x)); readln; END.
Метод січних У формулі методу Ньютона x(k+1) = x(k) - f(x(k))/f '(x(k)) , k = 0, 1, 2, ... похідну f '(x(k)) заміняємо виразом: (f(x(k)) - f(x(k-1))) / (x(k) - x(k-1))
Метод січних
Метод простих ітерацій Для використання цього методу вихідне нелінійне рівняння записується у вигляді
Метод простих ітерацій Нехай відоме початкове наближення кореня Підставляючи це значення у праву частину рівняння отримуємо нове наближення
Метод простих ітерацій Підставляючи кожний раз нове значення кореня в рівняння отримуємо послідовність значень Умова зупинки ітераційного процесу
Метод простих ітерацій
Метод збігається
Метод не збігається