Лекция: Модифицированный метод Ньютона

Аналогично методу Ньютона:

#include <stdio.h>

#include <math.h>

main()

{

int n=1;

float x,y,z,x0=-0.1,c=-0.1,eps=0.001, d=0.01;

x=x0;

clrscr();

do

{

y=x-(2*sin (x) — x + 0.4)/(2*cos(x0)-1); z=x;

printf("%d %.4f %.4f %.4f %.4f\n",n++,x,y,fabs(y-x), fabs(2*sin (y) — y + 0.4));

x=y;

}

while(fabs(z-x)>eps || fabs(2*sin (x) — x + 0.4)>d);

getch();

}

 

 

Решение: в результате решения нелинейного уравнения (1) на указанном отрезке тремя методами при начальном приближении с точностью и получены следующие результаты: методом простых итераций; методом Ньютона; модифицированным методом Ньютона (при этом получено менее точное значение чем в методе Ньютона).

Ниже представлены таблицы результатов:

 

Таблица 1. Метод простых итераций

n
-0.1000 -0.1300 0.0300 0.2707
-0.1300 -0.1571 0.0271 0.2442
-0.4125 -0.4136 0.0011 0.0098
-0.4136 -0.4146 0.0010 0.0090

 

Таблица 2. Метод Ньютона

n
-0.1000 -0.4034 0.3034 0.0183
-0.4034 -0.4252 0.0218 0.0002
-0.4252 -0.4254 0.0002 0.0000

 

Таблица 3. Модифицированный метод Ньютона

n
-0.1000 -0.4034 0.3034 0.0183
-0.4034 -0.4219 0.0185 0.0029
-0.4219 -0.4248 0.0030 0.0005
-0.4248 -0.4253 0.0005 0.0001

 

 

Выводы:

 

1. Метод простых итераций является универсальным, самоисправляющимся (любая ошибка на каком-либо шаге итерации не отразится на результате, только на количестве операций) и простым для реализации на ЭВМ. Но является более трудоёмким и, если начальное приближение выбрано достаточно далеко от корня, то число итераций возрастает.

2. Метод Ньютона обладает более высокой скоростью сходимости и имеет единую итерационную формулу, но не при любом начальном приближении процесс сходится.

3. Применение модифицированного метода Ньютона позволяет избежать этих трудностей.

 

еще рефераты
Еще работы по информатике