Opsi

Sabtu, 11 Desember 2010

PENERAPAN METODE BISECTION DENGAN MENGGUNAKAN MATLAB

A. ULASAN METODE

Metode Bisection atau metode bagi dua merupakan salah satu jenis pencarian inkremental dimana interval akan terus-menerus dibagi separuhnya. Jika suatu fungsi berubah tanda sepanjang suatu interval,maka harga fungsi yang berada di tengahnya akan dievaluasi. Letak akarnya kemudian ditentukan ada di tengah-tengah subinterval dimana perubahan tanda terjadi. Proses ini akan diulangi untuk memperoleh taksiran yang lebih pasti.

B. APLIKASI PENGGUNAAN

Dengan memahami pemrograman metode Bisection ini diharapkan mahasiswa mampu menyusun progran metode perhitungan Akar Persamaan Nonlinier dengan menggunakan MATLAB.

C. ALGORITMA DAN CONTOH PROGRAM

a. ALGORITMA :

Algoritma dari metode ini adalah :

1.) Program dimulai

2.) Sebagai persiapan membersihkan layar command window dan menghapus isi variabel sebelumnya yang tidak berfungsi

3.) Melakukan pendekatan awal x1 dan x1

4.) Menentukan harga x3 = (x1 + x2)/2.

5.) Jika |f(x3)| ≤ toleransi, maka harga x3 adalah harga x yang dicari

6.) Menampilkan hasil program baik itu berupa kurva

7.) Program selesai

b. CONTOH PROGRAM :

Script pada Editor / Debugger:

clc

clear

disp('Soal: y = 10*x^3-5*x^2-6*x-12')

%soal 10*x^3-5*x^2-6*x-12

a=2;

disp('a=');

disp(a);

 

b=72;

disp('b=');

disp(b);

 

c=(a+b)/2;

disp('c=');

disp(c);

 

y0=10*c^3-5*c^2-6*c-12;

disp('y0=');

disp(y0);

 

d=(a+c)/2;

disp('d=');

disp(d);

 

y1=10*d^3-5*d^2-6*d-12;

disp('y1=');

disp(y1);

 

e=(d+c)/2;

disp('e=');

disp(e);

 

y2=10*e^3-5*e^2-6*e-12;

disp('y2=');

disp(y2);

 

f=(c+e)/2;

disp('f=');

disp(f);

 

y3=10*f^3-5*f^2-6*f-12;

disp('y3=');

disp(y3);

 

g=(c+f)/2;

disp('g=');

disp(c);

 

y4=3*g^3-5*g^2-6*g-12;

disp('y4=');

disp(y4);

 

h=(c+g)/2;

disp('h=');

disp(h);

 

y5=10*h^3-5*h^2-6*h-12;

disp('y5=');

disp(y5);

 

i=(c+h)/2;

disp('i=');

disp(i);

 

y6=10*i^3-5*i^2-6*i-12;

disp('y6=');

disp(y6);

 

j=(h+i)/2;

disp('j=');

disp(j);

 

y7=10*j^3-5*j^2-6*j-12;

disp('y7=');

disp(y7);

 

k=(i+j)/2;

disp('k=');

disp(k);

 

y8=10*k^3-5*k^2-6*k-12;

disp('y8=');

disp(y8);

 

y0=10*c^3-5*c^2-6*c-12;

disp('y0=');

disp(y0);

y1=10*d^3-5*d^2-6*d-12;

y2=10*e^3-5*e^2-6*e-12;

y3=10*f^3-5*f^2-6*f-12;

y4=10*g^3-5*g^2-6*g-12;

y5=10*h^3-5*h^2-6*h-12;

y6=10*i^3-5*i^2-6*i-12;

y7=10*j^3-5*j^2-6*j-12;

y8=10*k^3-5*k^2-6*k-12;

y=[y0 y1 y2 y3 y4 y5 y6 y7 y8];

x=[c d e f g h i j k];

plot(x,y);

xlabel('x'),ylabel('y');

grid on;

 

Hasil pada Command Windows:

Soal: y = 10*x^3-5*x^2-6*x-12

a=2

b=72

c=37

y0=499451

d=19.5000

y1=7.2119e+004

e=28.2500

y2=2.2128e+005

f=32.6250

y3=3.4173e+005

g=37

y4=1.2029e+005

h=35.9063

y5=4.5625e+005

i=36.4531

y6=4.7753e+005

j=36.1797

y7=4.6681e+005

k=36.3164

y8=4.7215e+005

y0=499451

Kurva yang dihasilkan:

clip_image002

Tidak ada komentar:

Posting Komentar