Modul 8 MATLAB 3.ppt 138KB Mar 16 2011 11:41:54 PM

MATRIX OPERATION
Maltab Programming
Ir. Abdul Wahid, MT.

Kerangka Kuliah
• Himpunan Persamaan Linear
• Fungsi-fungsi Matriks
• Matriks Khusus

Himpunan Persamaan
Linear

• Semula Matlab dibuat untuk
menyederhanakan komputasi matriks
dan aljabar linear yang terdapat di
berbagai aplikasi
• Salah satu masalah yang paling umum
dalam aljabar linear adalah menemukan
solusi sekumpulan persamaan linear

Himpunan Persamaan

Linear
x1  2 x2  3 x3 366
4 x1  5 x 2 6 x3 804
7 x1  8 x2  9 x3 351

1 2 3   x1  366
 4 5 6. x  804

  2 

7 8 9   x3  351

A.x b

• Simbol perkalian matriks (.) diartikan dalam
konteks matriks, tidak dalam konteks array
seperti pada bab sebelumnya
• Dalam Matlab perkalian matriks dilambangkan
dengan asterik (*)
• Persamaan di atas berarti “perkalian matriks A

dengan vektor x sama dengan vektor b

Himpunan Persamaan
Linear

• Masalah mendasar dalam aljabar linear:
ada atau tidaknya solusi
• Jika ada solusi, terdapat berbagai
metode penyelesaian:
– Eliminasi Gauss
– Faktorisasi LU
– Penggunaan langsung A-1 (matriks invers)

Himpunan Persamaan
Linear

• Cara memasukkan elemen-elemen
matriks ada 2:
– Titik koma
– Ganti baris


>> A = [1 2 3;4 5 6
7 8 9]

• Matriks memiliki solusi bila determinannya tidak sama nol:
>>det(A)

Himpunan Persamaan
Linear
• Dua cara penyelesaian:
– Lebih disukai: x=A\b
– Kurang diminati tapi langsung menuju sasaran:
x=inv(A)*b

• Metode 1 menggunakan pendekatan faktorisasi
LU dan melambangkan solusi sebagai pembagian
kiri A ke b
• Lebih disukai karena:
– Memerlukan sedikit perkalian dan pembagian,
sehingga lebih cepat

– Solusinya lebih akurat untuk masalah yang besar

Himpunan Persamaan
Linear

• 2 kasus persamaan:
– Terdapat lebih BANYAK persamaan dari
pada variabel (kasus berlebihan)  disebut
penyelesaian kuadrat terkecil
– Terdapat lebih SEDIKIT persamaan dari
pada variabel (kasus kekurangan)  disebut
penyelesaian normal minimum
• Terdapat penyelesaian yang tak terbatas
• Matlab menghitung dua di antaranya

Himpunan Persamaan
Linear
KASUS BERLEBIHAN
>>A=[1 2 3;4 5 6;7 8 0;2 5 8] % 4 pers. 3 var
>>b=[366 804 351 514]’ % vektor rhs baru

>>x=A\b % menghitung solusi kuadrat terkecil
>>res=A*x-b % residu ini meiliki normal terkecil

Himpunan Persamaan
Linear
KASUS KEKURANGAN
>>A=A’ % membuat 3 pers. 4 var
>>b=b(1:3) % membuat vektor rhs baru
>>x=A\b % solusi dengan jumlah nol terbanyak
>>xn=pinv(A)*b % solusi normal minimum
>>norm(x) % normal Euclidan dgn elemen nol
>>norm(xn) % normal lebih kecil

Fungsi-fungsi
Matriks









balance (A)
cdf2rdf(A)
chol(A)
cond(A)
det(A)
eig(A)
expm(A)







hess(A)
inv(A)
lu(A)

norm(A)
poly(A)

Matriks Khusus
• Matriks Identitas : eye(3)
• Matriks nol
: zeros(n)
• Matriks random : rand(n)

Pengaturan Grafik




Jenis grafik
Jenis garis
Warna

x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);

y2 = 0.8*exp(-0.5*x).*sin(10*x);
[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');
set(get(AX(1),'Ylabel'),'String','Left Y-axis')
set(get(AX(2),'Ylabel'),'String','Right Y-axis')
xlabel('Zero to 20 \musec.')
title('Labeling plotyy')
set(H1,'LineStyle','--')
set(H2,'LineStyle',':')

POLINOMIAL
Ir. Abdul Wahid, MT

Akar
• Bagaimana menemukan akar suatu polinomial, yaitu
suatu nilai yang membuat polinomial bernilai nol,
adalah problem yang muncul dalam berbagai bidang
ilmu.
• MATLAB menyelesaikan masalah ini dan sekaligus
menyediakan sarana untuk memanipulasi
polonomial.

• Dalam MATLAB, polinomial direpresentasikan
sebagai vektor baris dari koefisien-koefisien
polinomial tersebut dalam urutan dari derajat
tertinggi ke derajat terendah

Contoh 1
x4-12x3+10x2+25x+116 =0
• Berapa akarnya?
• MATLAB:
>> p =[1-12 0 25 116];
>> r=roots(p)
• Karena baik suatu polinomial maupun akarnya adalah
vektor dalam MATLAB, MATLAB menggunakan
konvensi bahwa polinomial haruslah vektor baris
sementara akarnya adalah vektor kolom

Akar ke Polinomial
• Dengan memberikan akar-akar suatu
polinomial maka dimungkinkan untuk
menemukan polinomialnya.

• Hal tersebut dikerjakan dengan menggunakan
fungsi poly:
>> pp=poly (r)

Perkalian
• Perkalian polinomial dikerjakan dengan
fungsi conv (yang melakukan “convolution”
dari dua array).
• Perhatikan hasil perkalian dua polinomial
a(x)=x3+2x2+3x+4 dengan
b(x)=x3+4x2+9x+16:
>>a=[1 2 3 4]; b=[1 4 9 16];
>>c=conv (a,b)

Penjumlahan
• MATLAB tidak menyediakan fungsi langsung
untuk menjumlahkan polinomial.
• Penjumlahan array biasa dapat digunakan jika
kedua vektor polinomial mempunyai ukuran
yang sama.

• Untuk menjumlah polinomial a(x) dengan b(x)
di atas:
>>d=a+b

Pembagian
• Dalam beberapa kasus tertentu adalah perlu
membagi suatu polinomial dengan polinomial
yang lain.
• Dalam MATLAB, hal tersebut dapat
dilakukan dengan menggunakan fungsi
deconv.
• Dengan menggunakan polinomial b dan c
pada contoh sebelumnya :
>> [q,r] = deconv (c,b)

Turunan
• Karena turunan suatu polinomial mudah
dilakukan MATLAB menyediakan fungsi
polyder untuk turunan polinomial:
>>g=[1 6 20 48 69 72 44]
>>h=polyder (g)

Evaluasi
• Setelah anda dapat menjumlahkan, mengurangkan,
mengalihkan membagi dan menurunkan polinomial
berdasarkan pada vektor baris dari koefisien-koefisiennya,
Anda seharusnya juga dapat mengevaluasinya.
• Hal tersebut dikerjakan dengan fungsi polyval
>> x = linspace (-1, 3)
>> p = [ 1 4 -7 -10]
;
>>v=polyval (p,x)
>> plot (x,v), title (‘x^3 + 4x^2 – 7x –10’),
xlabel (‘x’)

Polinomial Rasional
m

m 1

 .....  N m11
n ( x) N 1 x  N x

d ( x)
D1 x n  D2 x n  1  ...  Dn 1

• Dengan MATLAB, bentuk diatas
dimanipulasi dengan memperhatikan kedua
polinomial secara terpisah
• Pembilang
• Penyebut

: >>n = [ …… ]
: >>d = [ …… ]

>> [r,p,k] = residue (n,d)