Modul 8 MATLAB 3.ppt 138KB Mar 17 2011 11:41:54 AM

Download Report

Transcript Modul 8 MATLAB 3.ppt 138KB Mar 17 2011 11:41:54 AM

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  3x3  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 koefisienkoefisiennya, 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 1
 .....  N m11
n ( x) N 1 x  N x

d ( x)
D1 x n  D2 x n 1  ...  Dn 1
m
• Dengan MATLAB, bentuk diatas
dimanipulasi dengan memperhatikan kedua
polinomial secara terpisah
• Pembilang
• Penyebut
: >>n = [ …… ]
: >>d = [ …… ]
>> [r,p,k] = residue (n,d)