14
ALJABAR LINIER & MATRIKS MODUL MATLAB

ALJABAR LINIER & MATRIKS - …  · Web viewMATLAB juga telah memiliki sejumlah perintah yang siap pakai (Built‐in), baik berupa variabel, pernyataan, maupun fungsi yang dapat langsung

  • Upload
    hadan

  • View
    232

  • Download
    0

Embed Size (px)

Citation preview

ALJABAR LINIER & MATRIKS

MODUL MATLAB

TEORI

1. MATLAB

MATLAB kependekan dari MATrix LABoratory merupakan sebuah paket perangkat lunak untuk komputasi teknik dan scientific (operasi‐operasi matriks dan matematika, baik dalam aljabar maupun bilangan kompleks, fungsi‐fungsi matriks, analisis data, polinomial, pengintegralan, pendeferensialan, persamaan‐persamaan nonlinear, interpolasi, pemrosesan sinyal, dll). MATLAB juga telah memiliki sejumlah perintah yang siap pakai (Built‐in), baik berupa variabel, pernyataan, maupun fungsi yang dapat langsung digunakan.

MATLAB bisa sebagai kalkulator dan bahasa pemrograman. Operasi yang dilakukan MATLAB adalah skalar, matriks dan vektor, serta teks.

2. MATRIKS DALAM MATLAB2.1. Membuat Matriks

1. Per elemen menggunakan spasi untuk memisahkan elemen dalam suatu baris menggunakan tanda semicolon ( ; ) untuk memisahkan baris dengan baris

berikutnya elemen‐elemen matrik diletakkan di antara tanda [ dan ] Contoh:

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

Untuk matrik dengan ukuran besar dapat dinyatakan ke dalam beberapa baris input dengan carriage return (ENTER) sebagai pengganti tanda semikolon(;)

2. Menggunakan fungsi FOR dan WHILEContoh: >> For i = 1:3,

For j = 1:3, a(i,j) = 4*i‐(3+j);

end endProgram tersebut berarti didefinisikan i dari 1 sampai 3 yang merupakan baris dari matrik dan kemudian juga didefinisikan j dari 1 sampai 3 yang merupakan kolom matrik. Kemudian dibuat matrik a yang setiap elemen‐nya merupakan hasil penambahan dari i dan j sesuai looping yag berjalan. Untuk mengetahui hasilnya maka diketikkan a yang merupakan variable penampung hasil eksekusi program : >> a

3. Menggunakan rutin yang ada dalam MATLABa. Matriks identitas ordo nxn

>> eye (n)

b. Matriks satuan ordo nxn (semua elemennya bernilai 1 (satu))>> ones(n)

c. Matrik dengan elemen acak ordo nxn (nilai elemen antara 0 dan 1)>> rand (n)

d. Matrik dengan elemen berupa bilangan segitiga Pascal ordo nxn>> pascal (n)

e. Rutin yang lain:

Rutin Keterangan[] matriks kosongCompany matriks gabungangallery beberapa matriks pengujian yang kecilhadamard matriks Hadamardhankel matriks Hankel

2

Rutin Keteranganhilb matriks Hilbertinvhilb invers matriks Hilbertmagic magic squarerandn matriks random terdistribusi normal dengan

elemen-elemennya memiliki mean nol dan varians satu

rosser matriks pengujian nilai eigen simetriktoeplitz matriks toeplitzvander matriks vandermondeWilkinson matriks pengujuan nilai eigen Wilkinsonzeros Matriks yang semua elemennya nol

2.2. Operasi Komputasi

Simbol Operasi* Perkalian

/ atau \ Pembagian (sama dengan operasi perkalian dengan invers)^ Pemangkatan+ Penjumlahan- Pengurangan‘ Untuk mencari transpose matriks

Sama seperti komputasi manual, komputasi pada MATLAB memiliki prioritas dengan urutan perkalian atau pembagian, baru diikuti penjumlahan dan pengurangan. Jika ingin memprioritaskan operasi tertentu, bisa dilakukan dengan memberikan tanda kurung “( )”.

2.3. Fungsi Matriks pada MATLAB

Fungsi Keteranganbalance(A) Penyekalaan untuk memperbaiki akurasi nilai eigencdf2rdf(A) bentuk diagonal kompleks ke bentuk diagonal blok

realchol(A) faktorisasi Choleskycond(A) matriks bilangan kondisicondest(A) estimasi matriks bilangan kondisi l-normd=eig(A) nilai eigen dan vektor eigen[V,D]=eig(A)det(A) determinanexpm(A) matriks eksponensialexpm1(A) implementasi M-file dari expmexmp2(A) Matriks eksponensial menggunakan deret Taylorexmp3(A) Matriks eksponensial menggunakan nilai eigen dan

eigenfunm(A, ‘fun’) menghitung fungsi matriks umumhess(A) bentuk hessenberginvs(A) invers matrikslogm(A) logaritma matrikslscov(A, b, V) kuadrat terkecil dengan kovarians yang diketahuilu(A) faktor dari eliminasi Gaussiannnls(A, b) kuadrat terkecil nonnegativenorm(A) norm matriks dan vektornorm(A, 1) 1-normnorm(A, 2) 2-norm (Euclidean)

Fungsi Keterangannorm(A, inf) takberhingga (infinity)norm(A, p) P-norm(hanya untuk vektor)norm(A, ‘fro’) F-normnull(A) spasi kosongorth(A) Ortogonalisasipinv(A) Pseudoinverspoly(A) Variabeln karakteristik / mencari koefisien

persamaan polinomialroots(A) mencari akar persamaan polinomialpolyvalm(A) evaluasi polinomial matriksqr(A) dekomposisi ortogonal-triangularqrdelete(Q,R,j) menghapus kolom dari faktorisasi qrqrinsert(Q,R,j,x) menyelipkan kolom pada faktorisasi qrqz(A) nilai eigen yang digeneralisasirank(A) banyaknya baris atau kolom yang independen linierrecond(A) estimator kondisi resiprokalrref(A) mengurangi baris bentuk echelonrsf2csf bentuk schur real ke bentuk schur kompleksschur(A) dekomposisi Schursqrtm(A) matriks akar kuadratsvd(A) dekomposisi nilai singulartrace(A) jumlah elemen diagonal

3. MEMULAI SCRIPT MATLABMATLAB menyediakan fasilitas makro, yang disebut M‐file MATLAB karena ekstension

filenya .M. Dengan fasilitas makro ini pemrograman terhadap rutin‐rutinnya dapat dilakukan sendiri oleh pemakai. Script file merupakan file yang berisi sekumpulan instruksi. Jika file ini dijalankan, maka instruksi‐instruksi tersebut akan dijalankan secara berurutan. Dengan menuliskan nama file, kita dapat memanggil isi file tersebut.

a. Dengan EDITOR DOS tuliskan !edit <ENTER> tuliskan isi file simpanlah file keluar dari EDITOR DOS untuk memanggil, ketik nama file lalu tekan Enter.

b. Dengan NOTEPAD dengan menggunakan mouse, klik di File New M‐file tuliskan isi file simpanlah file pada direktori BIN dengan tahapan‐tahapan berikut :

o untuk pilihan FILE NAME, isilah dengan nama dari script‐file beserta ekstension‐nya. Adapun ekstension dari script‐file Matlab adalah .M , contoh : data . m

o untuk pilihan SAVE AS TYPE, pilihlah : ALL FILES (*.*). o lalu klik‐lah pilihan SAVE.

keluar dari NOTEPAD untuk memanggil klik di File Run M‐file, ketik nama file lalu klick OK, atau

dapat juga dengan langsung mengetikkan nama dari Script‐filenya.

HAL YANG HARUS DIPERHATIKAN: 1. MATLAB hanya dapat digunakan untuk matrik‐matrik persegi panjang dengan elemen

bilangan kompleks.

4

2. Bila bagian imaginer bernilai nol maka tidak akan dicetak tetapi masih disediakan tempat di memori.

3. Matrik 1x1 dianggap sebagai skalar. 4. Matrik 1xn dianggap vektor baris. 5. Matrik mx1 dianggap vektor kolom. 6. MATLAB adalah software yang case sensitive, jadi huruf besar dan huruf kecil dianggap

berbeda . Contoh‐nya : variabel ‘A’ berbeda dengan variabel ‘a’. Untuk sintaks‐sintaks dan fungsi‐fungsi baku dalam MATLAB sebaiknya digunakan huruf kecil.

7. Untuk melihat susunan fungsi‐fungsi yang disediakan MATLAB dapat dilihat dengan menggunakan perintah HELP.

8. Syntax penulisan : >> help <ENTER> atau >> help nama fungsi <ENTER>

4. ALJABAR MATRIKS4.1. Penjumlahan dan pengurangan Matriks

Penjumlahan dan pengurangan matriks bisa dilakukan dengan syarat kedua matriks ber-ordo sama. Operasi dilakukan pada tiap-tiap elemen matriks yang sama.

4.2. Perkalian MatriksPerkalian dengan matriks dengan skalar bisa langsung dilakukan dengan mengalikan setiap elemen dengan nilai skalar.

Perkalian matriks dengan matriks bisa dilakukan dengan syarat kolom matriks pertama sama dengan baris matriks kolom kedua. Misalkan A berordo pxq dan B berordo mxn, maka A X B jika q = m, hasil perkalian AB akan ber-ordo pxn.

4.3. Matriks IdentitasMatriks diagonal yang semua elemen diagonalnya adalah 1. Dengan sifat-sifat matriks identitas : A*I=A , I*A=A

4.4. DeterminanDeterminan adalah nilai skalar yang dimiliki oleh sebuah matrik bujur sangkar. Nilai ini diperoleh sebagai hasil penjumlahan semua suku yang dibentuk oleh permutasi elemen dari setiap vektor yang dapat dibentuk dari matrik tsb

4.5. InversInvers suatu matrik adalah matrik yang memenuhi definisi berikut:

Jika A = [aij] dengan ordo nxn maka:A‐1 = [aij] dengan ordo nxn dan memenuhi AA‐1 = I A‐1A = I

(a bc d )−(e f

g h )=(a−e b−fc−g d−h )(a b

c d )+( e fg h )=(a+e b+f

c+g d+h )

k ( p qr s )=(kp kq

kr ks )

A=(a b de f g )

(2 x3 ), B=( p q

r st u )

(3 x2)

A .B=(a b de f g )(2 x3) .( p q

r st u )

(3 x2)

=(ap+br+dt aq+bs+duep+ fr+gt eq+fs+gu )

(2 x2)

(1 0 00 1 00 0 1 )

5. PERSAMAAN LINIERBentuk persamaan linier dituliskan sebagai berikut:a11 x1+a12 x2+a13 x3+. . .+a1 n xn=b1

a21 x1+a22 x2+a23 x3+. ..+a2n xn=b2

a31 x1+a32 x2+a33 x3+. ..+a3n xn=b3

. .. .. . .. .an1 x1+an2 x2+an 3 x3+. ..+ann xn=bn

Dengan matriks kita bisa menyelesaikan persamaan linier diatas dengan bentuk Ax=b, sehingga bisa ditulis:

(a11 a12 a13 … a1 n

a21 a22 a23 … a2 n

a31

…an1

a32

…an 2

a33

…a3 n

………

a3 n

…ann

) (x1

x2

x3

x4

x5

)=(b1

b2

b3

b4

b5

)Salah satu penyelesaiannya dengan menggunakan Metode Cramer:

dimana: Aj adalah matrik yang didapat dengan mengganti kolom j dengan matrik b

OPERASI MATRIKS PADA MATLAB1. Mendefinisakan matriks

Apabila kita ingin mendefinisikan sebuah matrik maka kita mengetikkan pada command window sebagai berikut : >> A=[ 1 2 3 ; 4 5 6 ; 7 8 9] Setelah mengetikan perintah tersebut kemudian kita menekan (enter) dan akan tampak hasil↵ sebagai berikut : A =

1 2 3 4 5 6 7 8 9

Membuat matrik dengan perulangan for maka kita mengetikkan algoritma‐nya pada command window setelah pengetikan selesai diakhiri dengan end yang menyatakan akhir dari program.>> for i = 1:3,

for j = 1:3,a(i,j) = 4*i-(3+j);

endend

Program tersebut berarti didefinisikan i dari 1 sampai 3 yang merupakan baris dari matrik dan kemudian juga didefinisikan j dari 1 sampai 3 yang merupakan kolom matrik. Kemudian dibuat matrik a yang setiap elemen‐nya merupakan hasil penambahan dari i dan j sesuai looping yag berjalan.Untuk mengetahui hasilnya maka diketikkan a yang merupakan variable penampung hasil eksekusi program :>> aa =

6

x j=det ( A j )det ( A )

; ⇒ x1=det( A1)det( A )

, x2=det ( A2 )det ( A )

,. . . , xn=det( An )det( A )

0 -1 -2 4 3 2 8 7 6

2. Operasi PenjumlahanInisialisasi matriks terlebih dahulu>> A = [ 1 2 3 ; 4 5 6 ; 7 8 9]A =

1 2 3 4 5 6 7 8 9

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

3 2 1 4 5 6 7 7 9

Lalu berikan operasi penambahan:>> A+B <ENTER>akan muncul hasilnya:ans =

4 4 4 8 10 12 14 15 18

3. Operasi PenguranganDengan matriks A dan B yang sudah diidentifikasikan sebelumnya, lalukan operasi pengurangan:>> A-B <ENTER>akan muncul hasilnya:ans =

-2 0 2 0 0 0 0 1 0

4. Operasi Perkaliana. Perkalian dengan skalar

Definisikan skalar dan nilainya:>> k = 2>> A*kans =

1 4 6 8 10 1214 16 18

b. Perkalian matriks dengan matriks>> A*Bans =

32 33 40 74 75 88116 117 136

5. Determinan MatriksDengan matriks A dan B yang sudah diidentifikasikan sebelumnya>> det(B)ans =

14

6. Invers MatriksDengan matriks A dan B yang sudah diidentifikasikan sebelumnya>> inv(B)ans =

0.2148 -0.7857 0.5000 0.4286 1.4286 -1.0000-0.5000 -0.5000 0.5000

( koma dilembangkan dengan titik (.))

7. Trace>> trace(A)ans =

15

8. Transpose>> A’ans =

1 4 72 5 83 6 9

MENYELESAIKAN PERSAMAAN LINIER

Gunakan metode cramer untuk menyelesaikan persoalan di bawah ini x1 + 2x3  = 6-3x1 + 4x2 + 6x3 = 30 -x1 - 2x2 + 3x3  = 8

Penyelesaian:1. Membuat matriks A

>> A=[1 0 2; -3 4 6; -1 -2 3]A = 1 0 2 -3 4 6 -1 -2 3

2. Membuat matriks kolom b>> b =[6;30;8]b = 6 30 8

3. Mencari determinan matriks A>> DetA=det(A)DetA = 44

8

4. Membuat matriks A1, A2, dan A3, lalu menacri determinan masing-masingMatriks A1 diperoleh dengan mengganti kolom pertama matriks A dengan matriks kolom b>> A1=AA1 = 1 0 2 -3 4 6 -1 -2 3

>> A1(:,1)=bA1 = 6 0 2 30 4 6 8 -2 3

>> DetA1=det(A1)DetA1 = -40

Matriks A2 diperoleh dengan mengganti kolom kedua matriks A dengan matriks kolom b>> A2=AA2 = 1 0 2 -3 4 6 -1 -2 3

>> A2(:,2)=bA2 = 1 6 2 -3 30 6 -1 8 3

>> DetA2=det(A2)DetA2 = 72

Matriks A3 diperoleh dengan mengganti kolom ketiga matriks A dengan matriks kolom b>> A3=AA3 = 1 0 2 -3 4 6 -1 -2 3

>> A3(:,3)=bA3 = 1 0 6 -3 4 30 -1 -2 8

>> DetA3=det(A3)DetA3 = 152

5. Mencari nilai x1, x2, dan x3

>> x1=DetA1/DetAx1 = -0.9091

>> x2=DetA2/DetAx2 = 1.6364

>> x3=DetA3/DetAx3 = 3.4545

PRAKTIK MANDIRIKerjakan latihan berikut dengan MATLAB, cetak hasilnya dan berikan penjelasan dalam bentuk laporan tertulis/cetak. Dikumpulkan tanggal 29 - 31 Desember 2012 ke Mas Eko (Kasi Fasilkom)

1. Buatlah matriks dengan memasukkan per elemen, kemudian tampilkan screen shootnya!

W =( 1 3 12 1 1

−2 2 −1) ; Y=(1 1 10 1 10 0 1)

2. Lalukan operasi berikut:a. W+Yb. W+2Yc. W*Yd. W-Ye. Carilah nilai trace W dan Yf. Transpose W dan Yg. Determinan W dan Y

Cetak hasilnya!(beri screenshoot)

3. Diberikan matriks M=(1 2 10 4 31 2 2)

Tentukan entri/elemen (2,3) dari M-1!4. Selesaikan persamaan linier berikut dengan menggunakan metode Cramer:

x1 + 3x2 + x3 = 1 2x1 + x2 + x3 = 5-2x1 + 2x2 - x3 = -8Cetak hasilnya!(beri screenshoot)

5. Definisikan Q=round(10*rand(6))Lakukan operasi berikut:a. B = Q

B(2, :) = Q(1, :)B(2, :) = Q(2, :)

b. C = Q

10

C(3, :) = 4 * Q(3, :)c. D = Q

D(5, :) = Q(5, :) + 2 * Q(4, :)Cetak hasilnya!(beri screenshoot)Jelaskan bagaimana hubungan antara matriks B, C, dan D dengan Q?Carilah determinan dari matriks B, C, dan D! Bagaimana hubungan antara determinan-determinannya?