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