Jumat, 11 Januari 2013

Program Bisection

%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