penyelesaian persamaan non linier metode biseksi

4

Click here to load reader

Upload: rrainunnisa

Post on 07-Aug-2015

84 views

Category:

Documents


5 download

DESCRIPTION

praktikum komputasi biomedis, teknobiomedik, matlab

TRANSCRIPT

Page 1: Penyelesaian Persamaan Non Linier Metode Biseksi

PRAKTIKUM 2

Penyelesaian Persamaan Non Linier Metode Biseksi

I. Tujuan

Menentukan salah satu akar riil dari suatu fungsi non linier variabel dengan

menggunakan metode biseksi.

II. Dasar Teori

Ide awal metode ini adalah metode table, dimana area dibagi menjadi N

bagian.Hanya saja metode biseksi ini membagi range menjadi 2 bagian, dari dua

bagian ini dipilih bagian mana yang mengandung dan bagian yang tidak

mengandung akar dibuang.Hal ini dilakukan berulang-ulang hingga diperoleh

akar persamaan.

Gambar 1. Metode Biseksi

Untuk menggunakan metode biseksi, terlebih dahulu ditentukan batas

bawah (a) dan batas atas (b).Kemudian dihitung nilai tengah :

Page 2: Penyelesaian Persamaan Non Linier Metode Biseksi

Dari nilai x ini perlu dilakukan pengecekan keberadaan akar. Secara matematik,

suatu range terdapat akar persamaan bila f(a) dan f(b) berlawanan tanda atau

dituliskan :

f(a) . f(b) < 0

Setelah diketahui dibagian mana terdapat akar, maka batas bawah dan batas atas

di perbaharui sesuai dengan range dari bagian yang mempunyai akar.

III. Algoritma Biseksi

(1) Definisikan fungsi f(x) yang akan dicari akarnya

(2) Tentukan nilai x1 dan x2

(3) Tentukan torelansi e

(4) Hitung f(x1) dan f(x2)

(5) Jika f(x1).f(x2)>0 maka proses dihentikan karena tidak ada akar, bila tidak

dilanjutkan

(6) Hitung x0 = (x1 + x2)/2

(7) Hitung f(x0)

(8) Bila f(x1).f(x0)<0 maka x2=x0 , bila tidak x1=x0

(9) Jika |x2-x1|<toleransi atau |f(x0)|>toleransi maksimum maka proses dihentikan

dan didapatkan akar = x0, dan bila tidak, ulangi langkah 6.

IV. Listing Program

function metodebiseksi

clear;clc;

E1=input ('inputkan x1=');

Page 3: Penyelesaian Persamaan Non Linier Metode Biseksi

E2=input ('inputkan x2=');

i=0;

max=input ('inputkan max iterasi= ');

disp('');

fx1=bloodrheology(E1);

fx2=bloodrheology(E2);

disp('--------------------------');

disp('|iterasi| E0 |fx0 ' );

if (fx1*fx2>0)

disp ('tidak ada akar')

else while (i<max)

i=i+1;

E0=(E1+E2)/2;

fx0=bloodrheology(E0);

fprintf ('| %d | %f | %f \n',i,E0,fx0);

disp ('-------------------------------');

if (fx1*fx0<0);

E2=E0;

else

E1=E0;

end

end

disp ('--------------------------');

end