algoritmanya adalah :
1. masukan x0;
2. y0 = f(x0), y'0=f ' (x0);
3. jika f ' (x0) < d, dimana d = delta, maka 'kemiringan terlalu kecil, ganti tebakan awalnya'
4. x1 = x0 - (y0/y1)
5. jika mutlak dari ((x1-x0)/x1)<e, dimana e = epsilon, maka akar = x1
6. ulangi ke langkah 1
keunggulan dari Newton Raphson, adalah lebih cepat dibandingkan dengan metode bagi dua dan posisi palsu. selain itu, penentuan tebakan awalnya hanya satu. sehingga memudahkan dalam pencarian tebakan awal.
untuk itu, akan dipaparkan bagaimana sebuah algoritma yang dipaparkan dalam bahasa pemograman, di aplikasi delphi :
procedure TForm1.Button1Click(Sender: TObject);
var
x0,x1,y0,y1,d,e,m:Real;
i,n:integer;
begin
x0:=strtofloat(edit1.text);
e:=0.0001;
d:=0.0001;
n:=strtoint(edit3.text);
i:=0;
repeat
i:=i+1;
listbox6.Items.add(inttostr(i));
listbox1.Items.add(format('%8.4f',[x0]));
y0:=x0+cos(x0);
y1:=1-sin(x0);
listbox3.Items.add(format('%8.4f',[y0]));
listbox4.Items.add(format('%8.4f',[y1]));
if (abs(y1))<d then showmessage('kemiringan terlalu kecil');
x1:=(x0)-(y0/y1);
listbox2.Items.add(format('%8.4f',[x1]));
m:=abs((x1-x0)/x1);
listbox5.Items.add(format('%8.4f',[m]));
if m>e then x0:=x1;
until
i=n;
edit2.Text:=format('%8.4f',[x1]);
end;
dengan tampilan :
selamat mencoba
No comments:
Post a Comment