Beranda > Metode Numerik, Numerik 1 > Algorima Metode Bisection

Algorima Metode Bisection


Input   :  f(x), a, b, Ftol (Nilai a dan b haruslah memenuhi syarat ) Output :  Akar Proses  :

  1. t=(1/2)(a+b) dan hitung  f(t)
  2. Jika  |f(t)|<Ftol maka  akar=t.  Selesai
  3. Jika f(a)*f(t)<0 maka b:=t jika tidak a:=t
  4. Kembali ke 1.

perhatikan bahwa disini kita gunakan kriteria konfergensi nilai nol fungsi yaitu |f(t)|<Ftol .Contoh Program dalam matlab: simpan dengan nama: bisection.m

function [x,t,xi] = bisection(f,a,b,XTol,MIter)
%Code ini ditulis oleh Sugiarto Cokrowibowo (Mahasiswa Matematika Unhas
%2004)
%bisection.m digunakan untuk menyelesaikan/mencari akar non linear  f(x)=0 dengan menggunakan metode bisection.
%input :
% f     = fungsi non-linear yang akan dicari akarnya.
% a/b   = nilai awal [titik batas kiri/kanan interval yang diberikan]
%         nilai a dan b diberikan dengan menduga. asalkan memenuhi syarat
%         f(a)*f(b) < 0.
% Ftol  = batas atas dari nilai error yang diinginkan |x(k) – xo|
% MIter = jumlah iterasi maksimum yang akan dilakukan
%
%output:
% x     = akar yang memenuhi
% t     = (b – a)/2(setengah dari panjang interval)
% xi    = semua x yang ditemukan selama iterasi berjalan
TolFun  =eps;
fa      = feval(f,a);
fb      = feval(f,b);if fa*fb > 0, error(‘kita harus memilih nilai f(a)f(b)<0!’); endfor k = 1: MIter
xi(k)   = (a + b)/2;
fx      = feval(f,xi(k));
t       = (b-a)/2;
if abs(fx) < TolFun | abs(t)< XTol, break;
elseif fx*fa > 0, a = xi(k); fa = fx;
else b = xi(k);
end
endx = xi(k);
if k == MIter, fprintf(‘Nilai pada %d iterasi\n’,MIter), end

contoh penggunaan:

1. carilah sebuah akar positiv persamaan berikut dengan metode Bisection: x^2-4*x-9=0

penyelesaian dg commandline matlab:

>>fsc=inline( ‘x^2-4*x-9′,’x’ );%menuliskan fungsi di matlab

>>[x,t,xi] = bisection(fsc,4,7.2,0.00001,100) %Kita mengambil nilai a=4,b=7.2,toleransi x=0.00001, jumlah iterasi maksimum=100.

hasilnya di Matlab adalah:

x =     5.6055 t =   6.1035e-006 xi =   Columns 1 through 9     5.6000    6.4000    6.0000    5.8000    5.7000    5.6500    5.6250    5.6125    5.6062   Columns 10 through 18     5.6031    5.6047    5.6055    5.6059    5.6057    5.6056    5.6055    5.6055    5.6056   Column 19     5.6055 >>

  1. akbarmatch
    Desember 16, 2009 pukul 4:31 am

    ini program macro excel?

  2. winwin
    Desember 19, 2009 pukul 11:07 am

    thanx ya atas ilmu ny…sangat bermanfaat…^^

  3. Juli 2, 2010 pukul 2:40 am

    Thanks ya bro…
    klu untuk metode newton raphson ada nggak?

  1. No trackbacks yet.

Tinggalkan Balasan ke winwin Batalkan balasan