![]() |
![]() |
||||
![]() | |||||
![]() |
![]() АЛГОРИТМЫ Новости Рассылка новостей Форум AlgoPascal Редактор блок-схем Статьи О сайте Контакты |
![]() |
![]() Решение уравнения F(x) = 0 методом Ньютона (касательных)Действительный корень x' уравнения F(x) = 0 вычисляется методом Ньютона по итерационному уравнению: xk+1 = xk -F(xk )/F'(xk )Процесс сходится к точному значению корня, если начальное приближение x1 выбрано так, что |F(x1 )F''(x1 )| < |F'(x1 )| 2Оценка погрешности k-го приближения производится по приближенной формуле |F(xk )F'(xk )| < e
В процедуре кроме функции Если нашли ошибку в алгоритме - сообщите! Реализации алгоритма на различных языках:![]() ![]() ![]() Блоксхемы:![]() ![]() Реализация алгоритма на AlgoPascal:unit SearchRootNewtonUnit; declaration function F(X:Real):Real; function dFdX(X:Real):Real; interface SearchRootNewton; implementation (* Решение уравнения методом Ньютона (метод касательных). function SearchRootNewton(x1,e:real):real; алгоритм использует функцию F(x) и её производную dFdX. *) function SearchRootNewton( const x1 : Real; const e : Real):Real; var x : Real; a : Real; begin x:=x1; a:=F(x)/dFdX(x); while AbsReal(a)>e do begin x:=x-a; a:=F(x)/dFdX(x) end; Result:=x; end; end. |
![]() |
|
|
![]() |