Ошибка в методе Ньютона
Пишет Вещественное деление на 0, сама программа выглядит так:
uses Crt; var x,a,b,e: real; function f1(d: real): real; begin f1:=(x-2)*(x-2)*2*x-1; end; function f2(d:real): real; begin f2:=6*x*x-16*x+8; end; begin Clrscr; a:=0.4; b:=2; e:=0.001; if f1(a)*f2(a)>0 then x:=a else x:=b; while abs(f1(x))>e do begin x:=x-f1(x)/f2(x); end; Writeln ('x=',x,' f(x)=',f1(x)); Readln end. |
Буду благодарен за помощь!
|
Цитата:
Код:
uses Crt; Код:
x= 0.14536 f(x)= -0.000002649617 |
Цитата:
|
И еще вопросик, почему х не попадает в заданный интервал?
|
Цитата:
Цитата:
|
Цитата:
P.S. Извините если вопросы кажутся абсурдными, просто только учусь, и хотелось бы понимать что написанно. |
Вложений: 1
Цитата:
Код:
x= 1.40303 f(x)= 0.000003728748 Код:
x= 2.45161 f(x)= 0.000003331817 |
Цитата:
|
Цитата:
Код:
uses Crt; |
Часовой пояс GMT +4, время: 02:56. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.