Metode
Matematika Newton Raphson
Koding program untuk newton raphson
uses crt;
label
ulang;
var
x,x1,y,y1,z,f,f1,f2 : real;
I : integer;
ab : char;
begin
ulang:
clrscr;
repeat
begin
writeln('Tentukan Akar Persamaan dari
f(x)=3x+sin(x)+exp x dengan Metode Newton Raphson');
writeln;
write('Masukan nilai x1 = ');
readln( x1 );
y1 := 3 * x1 + sin ( x1 ) - exp ( x1);
f1 := 3 + cos ( x1 ) - exp ( x1 ); {--
Turunan Pertama --}
f2 := - sin ( x1 ) - exp ( x1 ); {--
Turunan Kedua --}
z := (y1 * f2) / ( f1 * f1 );
writeln(' Nilai f(x1)= ',y1:0:5);
writeln(' Nilai f`(x1)= ',f1:0:5);
writeln(' Nilai f``(x1)= ',f2:0:5);
if abs ( z ) <1 then
writeln(' Nilai x1 OK Memenuhi Syarat
yaitu (',z:0:5,') < 1');
end;
until abs ( z ) <1;
readln;
i:=1;
writeln('Penyelesaian persamaan
karakteristik dengan metode newton_raphson');
writeln('---------------------------------------------------------------------');
writeln(' n x f(x) error');
writeln('---------------------------------------------------------------------');
repeat
begin
i := i + 1; x := x1 - (y1/ f1);
y := 3 * x + sin (x) - exp (x);
f := 3 + cos (x) - exp (x);
if i<10 then
writeln(': ',i,' :: ',x,' :: ',y,'
::',abs(y),' :')
else
writeln(':',i,' :: ',x,' :: ',y,'
::',abs(y),' :');
x1 := x;
y1 := y;
f1 := f;
end;
until abs( y ) < 1E-07;
writeln('--------------------------------------------------------------------');
writeln('Akar Persamaannya x= ',x);
writeln('errornya = ',abs(y));
write('apakah anda ingin mengulanginya ( y
/ t ): ');
readln( ab );
if ( ab = 'y' ) or ( ab = 'Y' ) then
begin
goto ulang;
end
else
end.
Tidak ada komentar:
Posting Komentar