Home » » METODE AKOLADE

METODE AKOLADE


Terdapat berbagai algoritma untuk mencari solusi persamaan nonlinear secara numeric. Yang dibahas pada artikel ini adalah metode untuk mencari satu solusi dari persamaan non linear yaitu METODE AKOLADE (BRACKETING METHOD). Sebuah fungsi berdasarkan jenisnya akan berubah tanda di sekitar suatu harga akar. Teknik ini dinamakan metode akolade, karena dibutuhkan 2 tebakan awal untuk akar. Sesuai namanya, tebakan tersebut harus “dalam kurung” atau berada pada kedua sisi nilai. Metode yang termasuk dalam metode akolade antara lain bisection dan Regule false.

     Program Bisection (Bagi Dua ) dengan Matlab
Langkah penyelesain Metode Bisection :
Langkah 1 : Pilih taksiran terendah xl dan tertinggi xu untuk akar agar fungsi berubah tanda sepanjang interval. Ini dapat diperiksa dengan f(xl)f(xu)<0.
Langkah 2 : Taksiran pertama akar xr ditentukan oleh : xr = (xl + xu)/2
Langkah 3 : Buat evaluasi untuk menentukan subinterval, di dalam mana akar terletak :
a. Jika f(xl)f(xr) < 0, akar terletak pada subinterval pertama, maka xu=xr dan lanjutkan ke langkah 2.
b. Jika f(xl)f(xr) > 0, akar terletak pada subinterval pertama, maka xl=xr dan lanjutkan ke langkah 2.
c.  Jika f(xl)f(xr) = 0, akar = xr, komputasi selesai

Scrip Program Bisection
%program False position dengan matlab simbolik
clc;
% Input Program
f= input ('Masukkan fungsi (dalam x) = ');
a= input ('Masukkan batas bawah (a)= ');
b= input ('Masukan 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 BAGI DUA        ')
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
    eror=abs(exact-xr);     % MEnghitung error absolut
    fprintf('%2.0f  %5.5f    %2.5f\n',i,xr,eror)    %Mencetak Bentuk Tabel
end
% Membuat tabel footer table bisection
disp ('==============================')


      Program Regule False dengan Matlab
Asumsi awal yang harus diambil adalah sama seperti pada Metode Bisection, yaitu: ‘menebak’ interval awal [a,b] dimana  f(x) adalah kontinu padanya, demikian pula interval tersebut harus terletak ‘mengapit’ (secara intuitif) nilai akar a, sedemikian rupa sehingga: f(a).f(b) ≤ 0 Meskipun pada algoritma berikut masih mengandung beberapa kelemahan, namun secara umum masih sangat menguntungkan untuk dipakai. 

Scrip Program Regile False
%program False position dengan matlab simbolik
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('Masukkkan banyak iterasi = ');
exact=input('Masukkan salah satu solusi eksak =');

%membuat header table false
disp(' ')
disp('     METODE FALSE POSITION    ')
disp('========================')
disp('i     akar     error    ')
disp('========================')

%perulangan pada false
for i=1:n
    xr=a-(((b-a)/(fb-fa))*fa);       %Menghitung akar dengan false
    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);
    fprintf('%2.0f  %5.5f  %2.5f\n',i,xr,error)
end

%membuat footer table false
disp('=======================')

sekian dulu artikel dari saya moga bermanfaat
--
Facebook Twitter Google+ Instagram Linkedin Path Yahoo

0 komentar:

Post a Comment

Like us on Facebook
Follow us on Twitter
Recommend us on Google Plus
Subscribe me on RSS