![]() |
![]() |
||||
![]() | |||||
![]() |
![]() АЛГОРИТМЫ Новости Рассылка новостей Форум AlgoPascal Редактор блок-схем Статьи О сайте Контакты |
![]() |
![]() Решение уравнения F(x) = 0 методом Ньютона с аппроксимацией производнойЕсли вычисление производной в методе Ньютона затруднено, можно заменить ее вычисление оценкой: F'(x)= (F(x+h)-F(x))/h. Кроме точности e, в процедуру так же передается параметр h из предыдущей оценочной формулы для производной. Если нашли ошибку в алгоритме - сообщите! Реализации алгоритма на различных языках:![]() ![]() ![]() Блоксхемы:![]() ![]() Реализация алгоритма на AlgoPascal:unit SearchRootNewtonMUnit; declaration function F(X:Real):Real; interface SearchRootNewtonM; implementation (* Решение уравнения модифицированным методом Ньютона (метод хорд). function SearchRootNewtonM(x1,e,h:real):real; алгоритм использует функцию F(x) и величину h для вычисления производной. *) function SearchRootNewtonM( const x1 : Real; const e : Real; const h : Real):Real; var x : Real; y : Real; fx : Real; begin x:=x1; fx:=F(x); y:=fx*h/(F(x+h)-Fx); while absReal(y)>e do begin x:=x-y; fx:=F(x); y:=fx*h/(F(x+h)-fx) end; Result:=x; end; end. |
![]() |
|
|
![]() |