P. 1
Modul Matlab

Modul Matlab

3.5

|Views: 8,707|Likes:
Published by api-3745153

More info:

Published by: api-3745153 on Oct 15, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

03/18/2014

pdf

text

original

Masalah persamaan tak linier umumnya ditujukan untuk mencari akar persamaan.
Penyelesaian masalah persamaan tak linier bersifat iteratif, dilakukan berulang-ulang
sehingga konvergensi tercapai.

Pada saat awal pembuatan program harus didefinisikan terlebih dahulu toleransi perhitungan
yang diperkenankan serta bentuk kriteria konvergensi yang digunakan.

Salah satu dari 3 (tiga) kriteria konvergensi berikut dapat digunakan untuk mengevaluasi
proses iterasi:

(i) | xi – xi-1| ≤ xtol
(ii)

xx

-

x

i

1

-

i

i

≤ xtol

(iii)

xx

-

x

i

1

-

i

i

≤ xtol

1. Persamaan Tak Linier Variabel Tunggal

Bentuk umum persamaan tak linier variabel tunggal adalah:
f(x) = 0

Ada beberapa metoda numerik yang dapat digunakan untuk menyelesaikan masalah yang
melibatkan persamaan tak linier, diantaranya:

a. Metoda Substitusi Berurut

Secara ringkas metoda ini diselesaikan melalui langkah-langkah berikut:
(i)

perubahan persamaan tak linier f(x) = 0 menjadi x = g(x), dimana g(x) adalah
persamaan tak linier yang mengandung variabel x yang berbeda dari f(x)

(ii) menetapkan xtol
(iii) menetapkan sebuah tebakan awal x0
(iv) melakukan proses iterasi 1 untuk menentukan x1:
x1 = f(x0)
(v) melakukan evaluasi dengan memilih salah satu kriteria konvergensi (kk)
(vi) apabila hasil evaluasi menunjukkan nilai kk ≤ xtol, maka perhitungan dapat
dihentikan dan akar yang dicari adalah x1;
tetapi bila tidak, maka perhitungan harus diulangi untuk iterasi selanjutnya.

Contoh 7.1: Program penentuan akar persamaan dengan menggunakan metoda substitusi
berurut untuk persamaan f(x) = x4

– ex

+ 1 = 0 adalah sebagai berikut:

% Program Substitusi Berurut

Modul MATLAB

VII-1

Persamaan Tak Linier

% Menghitung akar persamaan : f(x) = x^4 - e^x + 1 = 0
% ---> x = (e^x - 1)^0.25

clc
xtol = 5e-5;
itr = 1;
x0 = 1;

x1 = (exp(x0) - 1)^0.25;

while abs(2*(x1-x0)/(x1+x0)) > xtol
itr = itr+1;
x0 = x1;
x1 = (exp(x0) - 1)^0.25;

end

disp(['Akar persamaan adalah = ', num2str(x1)])
disp(['Banyaknya iterasi yang dilakukan = ', num2str(itr)])
fprintf('\n')

Catatan:

- program ini tidak bersifat mutlak, artinya masih dapat diubah sepanjang masih
sesuai dengan dasar perhitungan untuk metoda substitusi berurut
- program ini dapat digunakan untuk metoda penyelesaian persamaan tak linier
yang lain dengan melakukan perubahan sesuai dengan dasar perhitungan metoda
ybs.

Latihan 7.1:

- ubahlah program di atas, agar perhitungan pada iterasi pertama tidak berada di
luar loop-while
- ubahlah program di atas, agar hasil pada setiap iterasi dapat tampil pada layar

monitor.

b. Metoda Newton‐Raphson

Bentuk umum dari persamaan Newton-Raphson adalah sebagai berikut:
xi+1 = xi -

)

(x
f)

f(x

i

'i

Jadi, metoda Newton-Raphson membutuhkan turunan fungsi dalam penyelesaian
masalahnya serta sebuah tebakan awal.

c. Metoda Tali Busur (Secant)

Metoda Tali Busur merupakan pengembangan dari metoda Newton-Raphson, dimana
persamaan turunan fungsi diganti dengan pendekatan beda maju sehingga metoda ini
merupakan alternatif bagi turunan yang sukar.

Bentuk umum dari persamaan tali busur adalah sebagai berikut:
xi+1 = xi -

)

f(x

-

)

f(x

)

x

)(x

f(x

1-i

i

1

i

i

i

Komputasi Proses Teknik Kimia

VII-2

Persamaan Tak Linier

Dibutuhkan dua buah tebakan awal untuk metoda ini, yaitu x0 dan x1.

Secara umum penyelesaian masalah persamaan tak linier dengan menggunakan Metoda
Newton-Raphson dan Tali Busur sama dengan Metoda Substitusi Berurut.

Latihan 7.2: Ubahlah program pada Contoh 7.1, agar dapat dipergunakan untuk menentukan
akar persamaan dengan menggunakan metoda Newton-Raphson dan Tali Busur.

d. Fungsi Builtin Matlab

Matlab mempunyai fungsi khusus untuk menyelesaikan masalah pencarian akar
persamaan tak linier ini atau pencarian nol dengan perintah fzero. Caranya adalah dengan
menuliskan function pada sebuah M-file yang berisikan persamaan tersebut.

Contoh 7.2: Program penentuan akar persamaan f(x) = x4

- ex

+ 1 = 0 dengan

menggunakan fungsi built-in Matlab

function y = akar(x)

y = x^4 - e^x + 1;

Simpanlah file tersebut dengan nama akar.m, selanjutnya ketiklah pada command
window:

>> x=fzero('akar', 0)

x =

-1.3916

Setelah perintah fzero, buatlah di dalam kurung nama file dalam bentuk string yang
diikuti dengan tebakan awal yang diberikan, dimana di antaranya dipisahkan dengan
tanda koma. Bila akar persamaan lebih dari satu, maka hasil yang ditampilkan hanyalah
akar yang paling mendekati dengan tebakan.

2. Polinomial

Polinomial mempunyai bentuk umum sebagai berikut:
f(x) = a0.xN

+ a1.xN-1

+ a2.xN-2

+ …. + aN-2.x2

+ aN-1.x1

+ aN.x0

a. Menentukan akar persamaan

Untuk menentukan akar persamaan dari sebuah polinom, dapat digunakan fungsi
roots.
Contoh 7.3: Perhatikan persamaan berikut:
f(x) = x2

+ 3x + 2
= (x+2)(x+1)

Modul MATLAB

VII-3

Persamaan Tak Linier

sehingga akar persamaannya adalah: x1 = -2 dan x2 = -1

Dalam Matlab dapat diselesaikan:

>> a=[1 3 2]; % koefisien polinom dimulai dari xN

sampai x0

>> roots(a)
ans =

-2

-1

b. Membentuk polinom

Sebaliknya, Matlab juga mempunyai fungsi untuk membentuk polinom dari akar-
akarnya.
Contoh 7.4: Untuk akar persamaan yang diperoleh pada contoh di atas, dapat
ditentukan persamaannya:

>> b = [-2 -1];
>> poly(b)
ans =

1 3 2

c. Operasi polinom

Polinom dapat mengalami berbagai operasi aritmatika.
Contoh 7.5: Misalkan diketahui dua buah persamaan :
f(x) = 3x3

+ 2x2

+ 1

g(x) = 4x2

+ 2x + 3
Operasi penjumlahan terhadap dua polinom adalah dengan cara menjumlahkan
masing-masing koefisiennya, demikian pula dengan pengurangan.

>> f=[3 2 0 1];
>> g=[4 2 3];
>> f+g
??? Error using ==> +
Matrix dimensions must agree.

Untuk menghindari kesalahan, maka matriks yang terlibat dalam operasi
penjumlahan/ pengurangan harus mempunyai ukuran yang sama.

>> g=[0 4 2 3];
>> f+g
ans =

3 6 2 4

>> f-g
ans =

3 -2 -2 -2
artinya, polinom hasil penjumlahan adalah: 3x3

+ 6x2

+ 2x + 4

dan polinom hasil pengurangan adalah: 3x3

- 2x2

- 2x - 2.

Komputasi Proses Teknik Kimia

VII-4

Persamaan Tak Linier

Operasi perkalian dan pembagian melibatkan perhitungan yang lebih rumit. Fungsi
yang disediakan Matlab berturut-turut adalah conv (convulation) dan deconv. Tidak
seperti penjumlahan atau pengurangan, penulisan vektor koefisien polinom tidaklah
harus mempunyai ukuran yang sama.
Contoh 7.6: Untuk dua polinom yang sama seperti di atas, maka operasi perkalian
dan pembagian dapat ditulis sebagai berikut:

>> f=[3 2 0 1];
>> g=[4 2 3];
>> conv(f,g)
ans =

12 14 13 10 2 3

>> [k,s]=deconv(f,g)
k =

0.7500 0.1250

s =

0 0 -2.5000 0.6250

Sehingga jawabannya adalah :

0,75x + 0.125 dengan sisanya
-2.5x + 0.625

Jika k dikalikan dengan g(x), kemudian hasil perkalian tersebut dijumlahkan dengan
s, maka pastilah akan sama dengan f(x)

>> kali=conv(k,g)
kali =

3.0000 2.0000 2.5000 0.3750

>> kali + s
ans =

3 2 0 1

d. Evaluasi Polinom

Fungsi polyval digunakan untuk mengevaluasi polinom.

Contoh 7.7:

>> f=[3 2 0 1];
>> nilai = polyval(f,3)
nilai =

100
>> nilai = polyval(f,[3 2])

nilai =

Modul MATLAB

VII-5

Persamaan Tak Linier

100 33
>> x=linspace(-3,3);
>> nilai = polyval(f,x);
>> plot(x,nilai), title('3x^3+2x^2+1'), xlabel('x')

e. Turunan

Fungsi polyder merupakan fungsi yang disediakan Matlab untuk mencari turunan
(derivat) dari suatu polinom.

Contoh 7.8:

>> f=[3 2 0 1];
>> der=polyder(f)

der =

9 4 0

Komputasi Proses Teknik Kimia

VII-6

Bagian 8

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->