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 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 Matriks memiliki solusi bila determinan-nya tidak sama nol: >>det(A) >> A = [1 2 3;4 5 6 7 8 9]
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: >> 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 Dengan MATLAB, bentuk diatas dimanipulasi dengan memperhatikan kedua polinomial secara terpisah Pembilang : >>n = [ …… ] Penyebut : >>d = [ …… ] >> [r,p,k] = residue (n,d)