#menubar{ width:900px; margin-top:5px; float:center; background:#de360f; height:35px; border:1px solid #de360f; } #menubar-left{ float:left; width:900px; padding-top:1px; } #menubar ul{ position:relative; overflow:hidden; padding:0; margin:0; font-weight:none; font-size:12px; } #menubar li{ cursor:pointer; float:left; margin:0 padding:0; height:32px; } #menubar ul li{ float:left; list-style:none } #menubar ul li a{ border-right:1px solid #F0512D; float:left; padding: 9px 12px; text-decoration:none; color: #ffffff; font-weight:bold; font-size:14px; font-family: Calibri; } #menubar ul li a:hover{ background:transparent; color: #ffa500; } #menubar ul li a.current, #menubar ul li a.current:visited, #menubar ul li a.current:hover{ color:#ffa500; }

Selasa, 05 Februari 2013

Program Penyelesaian Fungsi menggunakan Metode Biseksi dengan Software Matlab

clc;
disp('---------------------------')
disp('program : Metode Biseksi   ')
disp('Oleh    : Mahfud Jiono     ')
disp('nb: penulisan fungsi harus di kasih kata inline terlebih dahulu     ')
disp('contoh: f(x)=x^3+2x+1 ')
disp('maka penulisanya: f(x)= inline ('x.^3+x.*2+1','x')  ')
disp('---------------------------')
f=input('f(x)=  ');
a=input('Batas bawah =  ');
b=input('Batas atas  =  ');
while f(a).*f(b)>0
    disp('interval yang dimasukan tidak mengurung penyelesaian, Silahkan diulangi!')
    disp('  ')
    a=input('Batas bawah =  ');
    b=input('Batas atas  =  ');
end
X=a:0.001:b;
awal=cputime;
if f(a).*f(b)~=0
    f_a=f(a); f_b=f(b);
    e=input('Toleransi kesalahan=  ');
    E=1; c=0;
    disp('--------------------------------------------------------------------------------')
    disp('   Iterasi      a         b         x        f(a)      f(b)      f(x)      error')
    disp('--------------------------------------------------------------------------------')
    while E>e
        c=c+1;x1=a;x2=b;
        x=(a+b)./2;
        if f(x).*f_a<0
            b=x; f_b=f(x);
        else
            a=x; f_a=f(x);
        end
        E=abs(b-a);
        disp([c x1 x2 x f_a f_b f(x) E])
    end
    disp('------------------------------------------------------------')
    akhir=cputime;
 disp(['Diperoleh x= ' num2str(x) ' dan f(' num2str(x) ')=' num2str(f(x)) ' dengan error=  ' num2str(E)])
 disp(['Waktu komputasi = ' num2str(akhir-awal) 'detik'])
else
    if f(a)==0;
        disp(['x= ' num2str(a)])
    else
        disp(['x= ' num2str(b)])
    end
end
plot(X,f(X))
title('Grafik fungsi f(x)')
xlabel('Domain fungsi')
ylabel('Range fungsi')
grid on;
   

12 komentar:

Mahfud Jiono mengatakan...

software mattlab R2010a

okzl mengatakan...

suwon pol yo bro.. mbantu beud

Jhon. S Sipayung mengatakan...

mohon bantuanya bro untuk persamaan
f (x) = x3 + x2 – 3x – 3 = 0.

Mahfud Jiono mengatakan...

Langsung input F(x)nya aja mas bro.
inline -3-x+x.^3

Jhon. S Sipayung mengatakan...

tanks bro

Mahfud Jiono mengatakan...

sama-sama mas bro.
trimakasih uda di kunjungi. :)

deny chandra malik mengatakan...

kalo persamaannya juga inputan kek gmna kk,

maksudnya persamaannya di inputkan sendiri oleh user, jadi kayak kalkulator gitu

deny chandra malik mengatakan...

gak jalan programnya

line 9
f=input('f(x)= '); ada yg slah

andika bayu mengatakan...
Komentar ini telah dihapus oleh pengarang.
andika bayu mengatakan...

saya error di line 12
while f(a).*f(b)>0
bagaimana penyelesaiannya?

Mahfud Jiono mengatakan...

Mohon maaf mas Deny dan mas Andhika baru liat messages nya.
mungkin error ini terjadi pas input persamaanya, aku coba lagi tetap jalan kok programnya.
jadi misal kita ada persamaan f(X)=x^3+2x+1, coba masukan nilai input seperti ini,
f(x)= inline ('1+x.*2+x.^3','x')
karena kita akan membandingkan nilai x, jadi keduanya harus di inputkan.

Mahfud Jiono mengatakan...

Atau bisa juga waktu nginputkan seperti ini:
f(x)= inline ('x.^3+x.*2+1','x')
batas bawah misal=-1
batas atas misal=0
toleransi kesalahan= 0.006
kemudian tunggu sebentar, dan resultnya akan muncul

Posting Komentar