Sunday, October 23, 2011

Metode Newton-Raphson dalam Metode Numerik

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