![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Теперь рассмотрим более общий итерационный процесс, т. е. метод последовательных приближений, частным случаем которого является и метод Ньютона. Исходное уравнение представим в виде:
x=g(x), где g(x)=f(x)+x.
Рассмотрим последвательность значений x, которая определяется следующим образом:
x(n+1)=g(x(n)), x0 задано.
Из теории вычислительной математики следует, что этот метод сходится тогда, когда |g'(x)|<1, т. е. метод применим, если производная указанной функции не принимает на отрезке поиска корня значения, превышающего по модулю 1. Вычисления необходимо произвести n>=(lg(q/(b-a))/lg(q) раз.
function NeedFunc(x: Double): Double;
begin
Result:= Sin(x) + 0.25;//здесь указывается нужная ф-ия
end;
function SimpleIter(nachpribl, eps: Double): Double;
var
Pribl1, Pribl2: Double;
begin
Pribl2:= nachpribl;
repeat
Pribl1:= Pribl2;
Pribl2:= NeedFunc(Pribl1);
until Abs(Pribl1 - Pribl2) <= eps;
Result:= Pribl2;
end;
program ITERAT;
uses crt;
const max_iter=100; {максимальное количество итераций}
var
i:integer;
x,x0,eps,M:real;
function F(x:real):real; {функция}
begin
F:=5*x*x-exp(1-x)-4;
end;
begin {основная программа}
clrscr;
write('Введите приближенное значение x='); readln(x);
write('Введите точность вычислений eps='); readln(eps);
i:=0;
repeat
M:=-(F(x+eps)-F(x-eps))/(2*eps); {коэффициент для улучшения сходимости}
x0:=x;
x:=x0+F(x0)/M; {сердце метода итераций}
inc(i);
writeln('--- Итерация ',i:3,' x=',x);
writeln('F(x)=',F(x),' точность=',abs(x-x0));
until (abs(x-x0)<=eps)or(i>max_iter);
if (abs(x-x0)<=eps) then writeln('Ответ: X=',x)
else writeln('Ответ не найден! За ',max_iter:0,' шагов итерация не сошлась.');
end.
Чтобы получить метод простых итераций, уберите строчку:
Код
M:=-(F(x+eps)-F(x-eps))/(2*eps); {коэффициент для улучшения сходимости}
И вместо строчки:
Код
x:=x0+F(x0)/M; {сердце метода итераций}
Наберите:
Код
x:=x0+F(x0); {сердце метода итераций}
Дата публикования: 2015-04-07; Прочитано: 162 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!