Algorima Metode Bisection
Input : f(x), a, b, Ftol (Nilai a dan b haruslah memenuhi syarat ) Output : Akar Proses :
- t=(1/2)(a+b) dan hitung f(t)
- Jika |f(t)|<Ftol maka akar=t. Selesai
- Jika f(a)*f(t)<0 maka b:=t jika tidak a:=t
- Kembali ke 1.
perhatikan bahwa disini kita gunakan kriteria konfergensi nilai nol fungsi yaitu |f(t)|<Ftol .Contoh Program dalam matlab: simpan dengan nama: bisection.m
function [x,t,xi] = bisection(f,a,b,XTol,MIter)
%Code ini ditulis oleh Sugiarto Cokrowibowo (Mahasiswa Matematika Unhas
%2004)
%bisection.m digunakan untuk menyelesaikan/mencari akar non linear f(x)=0 dengan menggunakan metode bisection.
%input :
% f = fungsi non-linear yang akan dicari akarnya.
% a/b = nilai awal [titik batas kiri/kanan interval yang diberikan]
% nilai a dan b diberikan dengan menduga. asalkan memenuhi syarat
% f(a)*f(b) < 0.
% Ftol = batas atas dari nilai error yang diinginkan |x(k) – xo|
% MIter = jumlah iterasi maksimum yang akan dilakukan
%
%output:
% x = akar yang memenuhi
% t = (b – a)/2(setengah dari panjang interval)
% xi = semua x yang ditemukan selama iterasi berjalanTolFun =eps;
fa = feval(f,a);
fb = feval(f,b);if fa*fb > 0, error(‘kita harus memilih nilai f(a)f(b)<0!’); endfor k = 1: MIter
xi(k) = (a + b)/2;
fx = feval(f,xi(k));
t = (b-a)/2;
if abs(fx) < TolFun | abs(t)< XTol, break;
elseif fx*fa > 0, a = xi(k); fa = fx;
else b = xi(k);
end
endx = xi(k);
if k == MIter, fprintf(‘Nilai pada %d iterasi\n’,MIter), end
ini program macro excel?
thanx ya atas ilmu ny…sangat bermanfaat…^^
Thanks ya bro…
klu untuk metode newton raphson ada nggak?