Nama : Taufik Fajar
Gumilang
NIM : A410100023
%Program Bisection
dengan Matlab Simbolik
%Created by Taufik
clc;
%Input Program
f=input('Masukkan
fungsi (dalam x) = ');
a=input('Masukkan
batas bawah (a) = ');
b=input('Masukkan
batas atas (b) = ');
%Menghitung dan
Menyelesaikan 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(' Interval
|| METODE BAGIDUA ||
falsi ')
disp('============================================================')
disp(' i akar error 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
eror=abs(exact-xr); %Menghitung error absolut
a1=a;
b1=b;
fa1=subs(f,'x',a1);
fb1=subs(f,'x',b1);
xr1=b1-(fb1*(a1-b1)/(fa1-fb1));
fxr1=subs(f,'x',xr1); %Menghitung harga fungsi pada xr
if fxr1*fa1>0 %Evaluasi letak xr pada [a,b]
a=xr1;
elseif fxr*fa<0
b=xr1;
end
fprintf('|%2.0f (%5.5f, %5.5f) %5.5f
%2.5f||%2.0f (%5.5f, %5.5f) %5.5f
%2.5f|\n',i,a,b,xr,eror,i,a1,b1,xr1,eror) %mencetak bentuk tabel
end
%Membuat footer
table bisection
disp('==============================')
Tidak ada komentar:
Posting Komentar