BAB 3
Vektor dan Matriks
VektorSalah satu fitur yang dimiliki oleh Matlab adalah penggunaan vektor sebagai objek. Vektor adalah sebuah larik satu-dimensi dari bilangan-bilangan yang tersusun dalam baris atau kolom. Vektor kolom dapat dibuat dengan cara menyusun bilangan-bilangan dalam sebuah kurung kotak yang mana setiap elemen dibatasi titik koma.
>> A=[1;2;3] A =
1 2 3
Sedangkan untuk membuat vektor yang berbentuk baris adalah dengan menyusun bilangan-bilangan yang dibatasi dalam kurung kotak dan setiap elemen dipisahkan oleh spasi atau tanda titik koma.
>> A=[1,2,3,4] A =
1 2 3 4
Untuk menyatakan vektor baris dengan elemen-elemen dengan pola tertentu juga dapat dibuat
x =
1 2 3 4 5
Vektor tersebut juga dapat dituliskan dengan cara x=[1 2 3 4 5]
Sekarang cobalah dengan pernyataan Matlab berikut ini >> y=0:2:10
y =
0 2 4 6 8 10
Dengan demikian vektor yang berurutan dengan pola tertentu dapat dinyatakan secara umum sebagai
nama_vektor= bawah : panjang_langkah : atas
Untuk mengakses elemen pada vektor x maka kita dapat melakukannya dengan cara nama_vektor(indeks_elemen) Contoh: >>y(2) ans = 2 >> 4*y(3) ans = 16
Cara lain yang dapat digunakan untuk menyatakan vektor berurutan dengan pola tertentu adalah dengan perintah linspace.
>> z=linspace(0,10,5) z =
Secara umum dapat dituliskan sebagai
nama_vektor=linspace(bawah,atas,jmlh_elemen)
Manipulasi Vektor
Di pasal ini kita akan membahas perhitungan sederhana yang melibatkan vektor, dengan mengenalkan operasi dot (.). Lihat contoh berikut.
>> v=[1,2,3,4,5]; >> 2*v
ans =
2 4 6 8 10
Contoh di atas menjelaskan bahwa untuk mengalikan 2 pada setiap elemen vektor dapat dilakukan dengan cara seperti di atas.
>> v=[1,2,3,4,5]; >> w=[2,3,4,5,6]; >> v.*w
ans =
2 6 12 20 30
Hasil di atas dapat dinyatakan secara umum sebagai
[
v1w1,v2w2, v3w3,v4w4,v5w5]
Selanjutnya jika v dan w dilakukan operasi pembagian pada setiap elemen seletak, maka digunakan operasi v./w.
>> v=[1,2,3,4,5]; >> w=[2,3,4,5,6];
>> y=v./w y =
0.5000 0.6667 0.7500 0.8000 0.8333 atau dapat dinyatakan sebagai
y=
[
v1 w1, v2 w2, v3 w3, v4 w4, v5 w5,]
Contoh 3.3Dapatkan nilai fungsi dari fx= x 3
1x2 untuk domain 0x2 dengan panjang langkah 0.2.
Penyelesaian x=0:0.2:2; f=x.^3; g=x.^2+1; y=f./g; disp([y']) Hasilnya adalah 0 0.0077 0.0552 0.1588 0.3122 0.5000 0.7082 0.9270 1.1506 1.3755 1.6000
Untuk membuat vektor yang berbentuk kolom, dapat dibuat dengan memberikan tanda titik koma (semicolon) pada elemen-elemennya.
>> v=[1;2;3;4;5] v = 1 2 3 4 5 Subscript
Kita dapat mengakses salah satu elemen vektor v untuk dilakukan operasi khusus. Letak setiap elemen vektor tersebut ditandai dengan dengan subscript. Sebagai contoh
>> v=[2,4,6,8,10]; >> 2*v(2)
ans = 8
Pada contoh di atas kita dapat mengakses elemen nomor dua dari vektor v dengan memberikan subscrip 2 pada vektor v.
Transpose Vektor
Kalau kita sudah memiliki vektor w yang berbentuk baris, maka kita dapat membuatnya menjadi vektor kolom dengan cara mentranspose vektor tersebut. Transpose dapat dilakukan dengan cara memberikan tanda petik tunggal (') pada pada vektor w tersebut.
Contoh 3.4
Jika kita memiliki vektor berupa baris maka trsenposenya berupa vektor kolom >> w=[1,2,3,4,5]; >> w' ans = 1 2 3 4 5 Contoh
Jika kita memiliki vektor kolom, maka transposenya berupa vektor baris >> B=[1;2;3;4;5]; >> B' ans = 1 2 3 4 5 Operasi Vektor
Di bawah ini disajikan operasi array (vektor) beserta keterangannya, sebagaimana yang telah dijelaskan di atas.
No Simbol Keterangan
1 [ ] Konstruktur untuk array (vektor) 2 , Tanda pemisah kolom elemen vektor 3 ; Tanda pemisah baris elemen vektor
4 : Untuk menentukan range elemen 5 + Operasi penambahan vektor 6 - Operasi pengurangan vektor 7 .* Operasi perkalian elemen vektor 8 .^ Pangkat setiap elemen vektor 9 ./ Operasi bagi kanan
10 .\ Operasi bagi kiri
Operasi Penambahan dan Pengurangan
Untuk melakukan operasi penambahan atau pengurangan vektor, maka syaratnya kedua jenis vektor adalah sejenis. Misalnya untuk penambahan dua buah vektor baris A dan B
>> A=[1,2,3]; >> B=[3,4,5]; >> C=A+B C =
4 6 8
Kemudian untuk pengurangan dua buah vektor kolom P dan Q >> P=[1;2;3]; >> Q=[3;4;5]; >> C=P+Q C = 4 6 8
Pembagian antar elemen vektor
Matlab memiliki kemampuan untuk melakukan operasi antar elemen vektor seletak. Contoh
>> P=[8,6,4]; >> Q=[4,3,2]; >> P./Q ans = 2 2 2 >> P.\Q ans = 0.5000 0.5000 0.5000 Perkalian antar elemen vektor
Matlab juga memiliki fitur untuk mengalikan antar elemen vektor yang seletak >> A=[1,2,3,4]; >> B=[2,3,4,5]; >> C=A.*B C = 2 6 12 20
Pangkat untuk elemen vektor
Jika memiliki sebuah vektor, maka elemen-elemennya dapat dipangkatkan seperti contoh di bawah ini
>> A=[1,2,3,4]; >> A.^2
1 4 9 16
Membuat Vektor Lebih Besar dengan Variabel yang Sudah Ada
Apabila kita memiliki dua buah vektor A dan B, maka dengan bermodal pada vektor tersebut kita dapat membuat vektor baru lagi berdasarkan pada vektor tersebut dengan ukuran yang lebih besar.
d.1. Vektor A dan B adalah vektor kolom >> A=[1;2;3]; >> B=[6;7]; >> C=[A;B] C = 1 2 3 6 7
d.2. Vektor A dan B adalah vektor baris >> A=[1,2,3]; >> B=[6,7]; >> C=[A,B] C = 1 2 3 6 7 Sifat-Sifat Vektor
Perintah length()
Perintah length menyatakan jumlah elemen yang terkandung dalam sebuah vektor. Contoh
>> P=[1,2,3,4,5,6,7,8,10]; >> length(P)
ans = 9
Perintah max dan min
Kita juga dapat memperoleh informasi mengenai mana elemen yang terbesar (dengan perintah max ) maupun yang terkecil (dengan min ).
>> P=[1,2,3,4,5,6,7,8,10]; >> max(P) ans = 10 >> min(P) ans = 1
Mencari Magnitud vektor
Sebelum kita memberikan contoh Matlab untuk memperoleh magnitud dari sebuah vektor, kita ingatkan kembali jika kita memiliki sebuah vektor kolom v.
v=
[
v1 v2 v3 ⋮ vn]
maka magnitud vektor v adalah
∣v∣=
v12v22v32⋯vn2Jika kita memiliki sebuah vektor Q, kemudian vektor tersebut akan dicari magnitudnya >> Q=[4,3,2]; >> Q.*Q; >> y=sum(Q.*Q); >> magnitude=sqrt(y) magnitude = 5.3852
Bagaimana kalau elemen-elemen vektornya yang ada merupakan bilangan kompleks. Lihat contoh berikut
>> Q=[4;3+2i;2]; >> P=conj(Q); >> W=Q.*P; >> y=sum(W); >> sqrt(y) ans = 5.7446
Kalau kita perhatikan langkah untuk memperoleh magnitud bilangan kompleks tersebut terlampau panjang, maka lebih singkat dengan cara
>> Q=[4;3+2i;2];
>> magnitud=sqrt(sum(conj(Q).*Q)) magnitud =
5.7446
Kita dapat menggunakan perintah abs() untuk menentukan harga mutlak dari elemen vektor.
>> Q=[4;3+2i;2]; >> abs(Q) ans = 4.0000 3.6056 2.0000
Perkalian Dot dan Cross
Perkalian dot pada dua vektor A=
[
a1,a2,a3,⋯, an]
dan B=[
b1,b2,b3,⋯, bn]
didefinisikanA⋅B=
∑
i
aibi
Dalam Matlab operasi perkalian dot dapat dilakukan dengan cara
dot(a,b). >> A=[1,2,3,4]; >> B=[2,3,4,5]; >> dot(A,B) ans = 40
>> A=[1,2,3,4]; >> dot(A,A);
>> magnitud=sqrt(dot(A,A)) magnitud =
5.4772
Operasi dot juga dapat bekerja pada vektor kompleks, seperti di bawah ini
>> A=[4;3+2i;2]; >> dot(A,A) ans = 33
Operasi lain pada vektor selain dot adalah perkalian cross. Syarat agar dapat dilakukan operasi perkalian cross adalah jumlah elemen vektor harus sama dengan tiga.
>> A=[1,2,3]; >> B=[2,3,4]; >> C=cross(A,B) C = -1 2 -1 Dasar-dasar Vektor
Dibawah ini akan dibahas tentang berbagai macam pembangkitan dan pembangunan vektor (array) yang disediakan oleh Matlab.
No Perintah Keterangan
langkah sama.
2 linspace
Membangkitkan vektor pada jangkauan tertentu dengan jumlah langkah dapat diambilsesuai kebutuhan. Panjang langkah yang dibangkitkan memiliki lebar sama. 3 logspace
Membangkitkan secara logaritmik vektor dalam jangkauan tertentu dengan jumlah langkah dapat diambil sesuai keiinginan. 4 blkdiag Membangun sebuah matriks diagonal
dengan argumen masukan. 5 eye Membangun matriks identitas.
6 ones Membangun matriks dengan elemen sama dengan 1.
7 zeros Membangun matriks dengan elemen sama dengan 0
8 rand Membangun matriks dengan elemen random yang terdistribusi secara uniform 9 randn Membangun matriks dengan elemen
random yang terdistribusi secara normal 10 ndgrid Membangkitkan array (vektor) untuk fungsi
multidimensi dan interpolasi.
11 meshgrid Membangkitkan matriks X dan Y untuk tujuan plot 3 dimensi.
sudah diberikan di awal pembahasan tentang vektor. Sekarang kita akan membahas beberapa yang belum dijelaskan di atas.
TUGAS
1. Jika diketahui dua buah vektor masing-masing v=linspace(0,2,5) dan w=linspace(3,5,5), maka tunjukkan hasilnya jika dilakukan operasi berikut ini. a) v+w b) w-v c) v.*w d) v.^2 e) w./v f) 1./w g) w/2
2. Diketahui dua buah vektor yaitu A=(1 -3 2 5 6) dan B=(4 1 3 5 1) tentukan
(a) magnitud dari masing-masing vektor (b) hasil perkalian antar elemen yang seletak (c) hasil bagi antar elemen yang seletak. 2. Diketahui vektor A=(2+i -3+5i 5 1-3i 2).
(a) tentukan transpose matriks A.
(b) tentukan transpose konjugat dari matriks A. (c) tentukan magnitud matriks A.
3. Anggaplah kita memiliki bilangan 3,2,3,1 dan 6. Buatlah vektor kolom A dan vektor baris dengan elemen-elemen tersebut.
4. Jika diketahui A=[1,2,3,5,3] dan B=[ 4;3;2;5;2]. Tentukan (a) hasil kasil cross vektor A dengan vektor B
(b) transpose dari ketor B
(c) hasil kali dot vektor A dengan vektor B'. 5. Suppose vector a and b are defined as follows:
a=[1,2,-3,4,-2]; b=[4,-1,6,7,-3];
Evaluate by hand the vector c in the following statements, then check your answer with Matlab
6. Set up a vector n with elements 1,2,3,4,5. Use Matlab array operation on vector n to set up the following four vectors, each with elemens: