%Program Bisection dengan Matlab Simbolik
%Created by Virlina Zuhanisani
clc;
%Input Program
f=input('Masukkan fungsi (dalam x) = ');
a=input('Masukkan batas bawah (a) = ');
b=input('Masukkan batas atas (b) = ');
%Menghitung dan Menyeleksi Harga f(a) dan f (b)
fa=subs(f,'x',a);
fb=subs(f,'x',b);
if fa*fb >0
error('Syarat f(a)*f(b)<0 tidak terpenuhi, ULANGI!!!')
return
end
n=input('Masukkan banyak iterasi = ');
exact=input('Masukkan salah satu solusi eksak = ');
%Membuat Header Table Bisection
disp(' ')
disp(' METODE BAGIDUA ')
disp('===========================')
disp(' i akar error ')
disp('===========================')
%Perulangan pada metode Bisection
for i=1:n
xr=(a+b)/2; %Menghitung akar dengan bisection
fxr=subs(f,'x',xr); %Menghitung harga fungsi pada xr
if fxr*fa>0 %Evaluasi letak xr pada [a,b]
a=xr;
elseif fxr*fa<0
b=xr;
end
error=abs(exact-xr); %Menghitung error absolut
fprintf('%2.0f %5.5f %2.5f\n',i,xr,error) %Mencetak bentuk tabel
end
%Membuat footer table bisection
disp('=============================')
Tidak ada komentar:
Posting Komentar