Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Метод дихотомії



1) Метод дiлення вiдрiзка [a,b] навпiл (метод дихотомiї) реалізується слiдуючим алгоритмом (алгоритм приведено для F(a)>0, інакше графік перевертаємо відносно вісі х).

1. Знаходимо x = .

2. Обчислюємо F(x).

3. Якщо F(x)>0, приймаємо а=х, iнакшеb=x.

4. Перевiряємо умову êb-aê > E; якщо вона виконується, ідемо до п.1, якщо не виконується - закiнчуємо обчислення i вважаємо щох = з похибкою Е.

Число iтерацiй при використаннi цього методу N= досить велике і через те збiжнiсть його повiльна. Але при довiльнiй довжинi вiдрiзка [a,b]збiжнiсть гарантована. Крiм того, проста реалiзацiя методу зменшує кiлькiсть допомiжних операцiй i частково компенсує збiльшення загального часу розрахунку через повiльну збiжнiсть.

PROGRAM DIHOTOM;

Uses CRT;

Const e=0.01;

Var KL:integer;

F1,H,Z:real;

A,b,X,C,L,R,D:real;

{підпрограма опису досліджуваної функції}

Function F(E,X,D,R:real):real;

Begin

F:=E-X-R*10*(EXP(D*X)-1)

End;

BEGIN

ClrScr;

WriteLn(Розв' язок рівняння F(x)=0 МЕТОДОМ ДИХОТОМIЇ');

Writeln;WriteLn;

Write('Введiть А,В,Н');

READLN(A,B,H);

WRITE(' Задайте R,D');

READLN(R,D);

X:=A;

IF F(E,X,R,D) < 0 THEN KL:=1 ELSE KL:=-1;

REPEAT

X:=(A+B)/2;

F1:= F(E,X,R,D)* KL;

IF F1>0 THEN A:=X ELSE B:=X;

UNTIL ABS (B-A)*H;

X:=(A+B)/2;

WRITELN(X);

END.

Завдання:

Тест: для функції F(x)=E-x-RZ(eDx-1), при E=2, R=10, Z=1e-8, D=20, A=0, B=2, H=1e-4, значення кореня х=0.8143921.





Дата публикования: 2015-04-07; Прочитано: 369 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...