Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab10.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
566.78 Кб
Скачать

.3 Метод Ньютона-Рафсона (метод дотичних)

Метод Ньютона-Рафсона уточнення кореня нелінійного рівняння використовується найбільш часто. В цьому методі для обчислення послідовних наближень використовується ітераційна формула

, (6)

Якшо нульове наближення задовольняє умові

, (7)

то ітераційний процес збігається. При цьому наближення знаходиться між коренем рівняння та попереднім наближенням , тобто ближче до кореня. Це доводить такий чисельний експеримент.

Числовий експеримент 1. Рівняння має один корінь (графіки функцій та перетинаються в одній точці) Відрізком відокремлення може бути відрізок . На ньому виконуються три умови Больцано-Коші. Необхідні обчислення виконуються за програмою

program num_exp1;

uses

crt;

var

x:real;

k:byte;

function f(x:real):real;

begin

f:=x-exp(-x);

end;

function f1(x:real):real;

begin

f1:=1+exp(-x);

end;

function f2(x:real):real;

begin

f2:=-exp(-x);

end;

begin

clrscr;

write (‘Нульве наближення x=’); readln(x);

writeln(x:1:2,’ ‘, f(x):1:4, ‘ ‘, f1(x):1:4, ‘ ‘ f2(x):1:4);

for k:=1 to 10 do

begin

x:=-x-f(x)/f’(x);

writeln(k, ‘ ‘, x);

end;

end.

Результат роботи програми:

Нульове наближення x=-4

-4.00 -58.5982 55.5982 -54.5982

1 -2.9450

2 -1.8489

3 -0.7334

4 0.1801

5 0.5371

6 0.5670

7 0.5671

8 0.5671

9 0.5671

10 0.5671

Видно, що при умова виконується і ітераційний процес збігається.

При невдалому виборі нульового наближення з порушенням умови збіжності, ітераційний процес, як правило розбігається, хоча ї є випадки, коли він збіжний навіть при порушенні умови збіжності.

Можна довести, що похибка послідовного наближення задовольняє нерівність

(8)

де

. (9)

З формули (8) випливає, що похибка наступного наближення пропорційна квадрату похибки попереднього наближення. Тому, якщо нульове наближення задовольняє умові , то в кожному наступному наближенні подвоюється число вірних десяткових знаків.

Як правило, за нульове наближення беруть один з кінців відрізку відокремлення, той для якого виконується умова (7). Для того, щоб уникнути ситуації, коли умова збіжності не виконується для жодного кінця відрізку відокремлення, вимагається, щоб друга похідна не змінювала знаку на (це означає, що на графік функції не має точок перегину).

Закінчення ітераційного процесу наступає при досягненні умови

,

в якій

. (10)

Алгоритм уточнення кореня нелінійного рівняння реалізований процедурою m_newton_rafson.

procedure m_newton_rafson(var x:real; eps:real;kmax:byte; var error:byte);

var

d,dpop,xpop:real;

k:byte;

begin

error:=0; xpop:=x; dpop:=1e20;

for k:=1 to kmax do

begin

x:=xpop-f(xpop)/f1(xpop); d:=abs(x-xpop);

if d>dpop then begin error:=2; exit;end;

if abs(xpop-x)>eps then begin xpop:=x; dpop:=d end

else exit;

end;

error:=3;

end;

(коментарі до цієї процедури абсолютно аналогічні до коментарів процедури mpi).

Процедура m_newton_rafson звертається до функцій (в нашому випадку):

function f(x:real):real;

begin

f:=x-cos(x);

end;

яка обчислює значення функції в довільній точці;

f1(x:real):real;

begin

f1:=1+sin(x);

end;

яка обчислює значення похідної в довільній точці.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]