Minggu, 12 Desember 2010

Contoh Matlab Biseksi

clc,clear
galat=0.001;
bawah = input('Batas Bawah = ');
atas = input('Batas Atas = ');
nilai = 1;
n0 = 0;
m0 = bawah;
clc
fprintf('Taksiran Batas Bawah : %5.3f\n', bawah);
fprintf('Taksiran Batas atas : %5.3f\n', atas);
fprintf('=====================================\n');
fprintf('Iterasi (bawah + atas)/2 Galat interval\n');
fprintf('=====================================\n');
while nilai > galat
    n0 = n0 + 1;
    fbawah=feval('fbi',bawah);
    m=(bawah+atas)/2;
    ftengah=feval('fbi',m);
    if fbawah*ftengah==0
        disp('m adalah akarnya');
    elseif fbawah*ftengah < 0
        atas=m;
    else
        bawah=m;
    end
    nilai=abs(m0-m);
    fprintf('%3d %8.5f [%8.5 ; %8.5]\n',n0,m,nilai,bawah,atas);
    m0=m;
end

fprintf('======================================\n');
fprintf('Pada iterasi ke-%1d, Selisih Interval < %5.3f\n',n0,galat);

%yang berikut ini ditulis dalam M-File yang lain:
%nama fungsi fbi.m
%function [y]=f(x)
%y=x^3+x^2-8*x-10;