Смекни!
smekni.com

Современное состояние вычислительной техники (стр. 3 из 7)

Уточнение корня по методу Хорд

По методу Хорд выбирается произвольное начальное значение корня из отрезка [a,b] на котором корень существует xÎ[a,b]=[x1,x2].

Затем по методу Хорд корень уточняется. Найденное новое значение корня подставляется в правую часть уравнения и т.д. пока разность между двумя приближениями не станет меньше

< e=10-5. Расчётная формула метода Хорд имеет вид:

xn+1=xn-

(b-x).

Графический метод Хорд имеет вид:



Отделение корней

program otd;

label 10;

var

a,b,x1,x2,y1,y2,h,d:real;

function f(x:real):real;

begin

f:=2.2*x-exp(x*ln(2));

end;

begin

writeln(‘введите a,b,h’);

readln(a,b,h);

x1:=a;x2:=x1+h;

y1:=f(x1);

10: y2:=f(x2);

if y1*y2<0 then writeln(x1:8:5,' ',x2:8:5);

x1:=x2;x2:=x1+h;

y1:=y2;

if x2<=b then goto 10;

readln;

end.

ввод:

0.1,10,1e-4

ответ:

х1=0.10000

х2=1.10000


Уточнение корней

Метод половинного деления

program del;

label 2, 10;
var a,b,e,x,y,z:real;
function f(x:real):real;

begin

f:= 2.2*x-exp(x*ln(2));

b=x

end;

begin

writeln(‘введите a,b,e’);


readln(a,b,e);
y:=f(a);

10:x:=(a+b)/2;

z:=f(x);

if z=0 then goto 2;

if y*z<0 then b:=x;

begin a:=x; y:=f(b); end;

if b-a>e then goto 10;

2:writeln('x=',x:8:5);

readln;

end.

ввод:

0.1, 1.1, 1е-5

ответ:

х=0.78111

Метод хорд


program horda;

label 10;
var e,x,b,y,d:real;
function f(x:real):real;

begin

f:= 2.2*x-exp(x*ln(2));

end;
begin

writeln(‘введите x,b,e’);

readln(x,b,e);

10: y:=x-f(x)/(f(b)-f(x))*(b-x);

d:=abs(y-x);

x:=y;

if d>e then goto 10;

y:=f(x);

writeln('x=',x:8:5);

end.

ввод:

0.1, 1.1, 1е-5

ответ:

х=0.78110

Проверка уравнения в ППП "Eureka"

Ввод:

2.2*x-exp(x*ln(2))=0

Ответ:

X=0.78091254

Maximum error is 3.5465456e-7

2.2. Решение систем линейных уравнений методом итераций.

Метод итераций Гаусса-Зейделя