Senin, 07 Maret 2016

Bisection Method

BISECTION METHOD


Kode MATLAB :

a = 0; %tebakan awal 1 (x1)
b = 1; %tebakan awal 2 (x2)
c = (a+b)/2; %rata-rata (xm)
n = 100; %jumlah iterasi
es = 0.001; %batas eror
ea = 1; %eror sebenarnya
syms x %mendeklarasikan variabel x
f= x^3-3*x+1; %fungsi yang dihitung akarnya
N = [i a b c ea];
for i = 1:n
c = (a+b)/2;
fa = subs (f,x,a);
fb = subs (f,x,b);
fc = subs (f,x,c);

if (fa*fc)<0
    ea = (b-c)^2/b;
    b = c;
else
    ea = (a-c)^2/a;
    a = c;
end

if ea<=es
    break
end

N = [N; i a b c ea]
End
Plot (N(:,1),N(:,5))


Grafik :



Hasil :
N =
   0.0000 + 1.0000i   0.0000 + 0.0000i   1.0000 + 0.0000i   0.5000 + 0.0000i   1.0000 + 0.0000i
   1.0000 + 0.0000i   0.0000 + 0.0000i   0.5000 + 0.0000i   0.5000 + 0.0000i   0.2500 + 0.0000i

N =
   0.0000 + 1.0000i   0.0000 + 0.0000i   1.0000 + 0.0000i   0.5000 + 0.0000i   1.0000 + 0.0000i
   1.0000 + 0.0000i   0.0000 + 0.0000i   0.5000 + 0.0000i   0.5000 + 0.0000i   0.2500 + 0.0000i
   2.0000 + 0.0000i   0.2500 + 0.0000i   0.5000 + 0.0000i   0.2500 + 0.0000i      Inf + 0.0000i

N =
   0.0000 + 1.0000i   0.0000 + 0.0000i   1.0000 + 0.0000i   0.5000 + 0.0000i   1.0000 + 0.0000i
   1.0000 + 0.0000i   0.0000 + 0.0000i   0.5000 + 0.0000i   0.5000 + 0.0000i   0.2500 + 0.0000i
   2.0000 + 0.0000i   0.2500 + 0.0000i   0.5000 + 0.0000i   0.2500 + 0.0000i      Inf + 0.0000i
   3.0000 + 0.0000i   0.2500 + 0.0000i   0.3750 + 0.0000i   0.3750 + 0.0000i   0.0313 + 0.0000i

N =
   0.0000 + 1.0000i   0.0000 + 0.0000i   1.0000 + 0.0000i   0.5000 + 0.0000i   1.0000 + 0.0000i
   1.0000 + 0.0000i   0.0000 + 0.0000i   0.5000 + 0.0000i   0.5000 + 0.0000i   0.2500 + 0.0000i
   2.0000 + 0.0000i   0.2500 + 0.0000i   0.5000 + 0.0000i   0.2500 + 0.0000i      Inf + 0.0000i
   3.0000 + 0.0000i   0.2500 + 0.0000i   0.3750 + 0.0000i   0.3750 + 0.0000i   0.0313 + 0.0000i
   4.0000 + 0.0000i   0.3125 + 0.0000i   0.3750 + 0.0000i   0.3125 + 0.0000i   0.0156 + 0.0000i

N =
   0.0000 + 1.0000i   0.0000 + 0.0000i   1.0000 + 0.0000i   0.5000 + 0.0000i   1.0000 + 0.0000i
   1.0000 + 0.0000i   0.0000 + 0.0000i   0.5000 + 0.0000i   0.5000 + 0.0000i   0.2500 + 0.0000i
   2.0000 + 0.0000i   0.2500 + 0.0000i   0.5000 + 0.0000i   0.2500 + 0.0000i      Inf + 0.0000i
   3.0000 + 0.0000i   0.2500 + 0.0000i   0.3750 + 0.0000i   0.3750 + 0.0000i   0.0313 + 0.0000i
   4.0000 + 0.0000i   0.3125 + 0.0000i   0.3750 + 0.0000i   0.3125 + 0.0000i   0.0156 + 0.0000i
   5.0000 + 0.0000i   0.3438 + 0.0000i   0.3750 + 0.0000i   0.3438 + 0.0000i   0.0031 + 0.0000i


      Dalam program kita menentukan toleransi sebesar 0.00001 sehingga ketika fx0 lebih kecil dari nilai toleransi yang telah ditentukan program akan berhenti menghitung. Untuk  metode biseksi ini kita program melakukan 6 kali perhitungan untuk memenuhi persyaratan yang telah ditentukan.

Tidak ada komentar:

Posting Komentar

 

Blogger news

About