Matriks dan vector adalah jantung dari komputasi matlab.
Pada bagian ini, akan diajarkan bagaimana memanfaatkan matriks dan vector.
Vektor adalah kumpulan nilai yang dituliskan dalam satu dimensi 1xm matriks.Sedangkan
matriks adalah kumpulan nilai dalam dimensi m x m.
Vektor dan matriks digunakan untuk menyimpan list data atau
signal. Vektor dan matrix dapat diberi nama dan diperlakukan seperti
variable-variabel lain pada matlab, namun bedanya operasi yg dilakukan oleh
vector dan matriks dilakukan pada tiap elemen satu demi satu. Kita akan
membicarakan vector terlebih dahulu.
2.
Cara menuliskan vector dan matriks
Misalkan ada fungsi y=3x+2. Jika anda ingin memplot y
sebagai fungsi dari x, maka yang pertama kita lakukan adalah menciptakan vector
x yang mengandung titik-titik data dalam cakupan tertentu. Misalkan nilai x
adalah dari 0 sd 5, berupa integer, maka yang perlu kita lakukan adalah
menuliskan
>>x=[0 1 2 3 4 5];
Perintah
diatas akan menciptakan vector baris x, yaitu
matriks 1x6 yang mengandung enam elementdari 0 sd 5. Perhatikan bahwa
pemakaian ; akan mencegah Matlab menulis hasil dari operasi ini di layar. Cara
lain yang bisa dilakukan adalah menggunakan range seperti berikut
>>x=0:5
Akan
dihasilkan :
x=0 1 2 3 4 5
Tanda
titik dua, yaitu : berlaku seperti kata: dari ~ sampai ~, dengan interval standar 1.Bila kita hendak
mengubah interval, gunakan :
>> x=0:0.01:5
akan
men-generate 501 data dengan interval 0.01 dari 0 sd 5.
Langkah
berikutnya adalah menentukan fungsi y, menggunakan x yang telah didefinisikan
diatas.
>> y=3*x+2
y =
2 5
8 11 14 17
Statemen
diatas akan menginstruksikan matlab untuk mengalikan tiap elemen x dengan 3 dan
menambahkan dua pada tiap elemen. Perintah 3*x akan ditanggapi sebagai
perkalian scalar matriks x dan 2 akan diperlakukan sebagai matriks yg
panjangnya sama dg x dan ditambahkan kepada matriks x.
Karena Matlab berbasis operasi matriks, perlu diingat bahwa
anda hanya bisa melakukan penambahabn atau pengurangan terhadap matriks yang
jumlah kolom dan barisnya sama. Jadi bila anda menambahkan matriks dimensi 2x3
dengan matriks 3x2, maka hasilnya tidak akan terdefinisikan.
Perkalian antara dua matriks membutuhkan kolom pada matriks
pertama sama dengan jumlah baris pada matriks kedua. Perkalian matriks A, 2x5
dan matriks B, 5x3 akan menghasilkan matriks C yang berukuran 2x3 bila C=AB.
Sementara jika operasi perkalian ini dibalik, C=B*A, maka hasil tidak akan
terdefinisikan. Namun bila kita mengalikan D=B’A, karena operasi ini adalah
transpose, kita akan mendapatkan nilai D.
3.
Mengakses Vektor dan Matriks
Vektor terdiri atas elemen-elemen yang diatur dalam baris dan
kolom.Terkadang kita tidak ingin melihat atau mengakses seluruh data dalam
vector, namun cukup mengakses satu elemen vector saja atau range dari vector
tersebut. Untuk mengakses elemen tertentu dari vector, dibutuhkan indeks dari
elemen tersebut.
b =
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
Misalkan kita ingin mengubah nilai baris ke 3 , kolom 1
b(3,1)=3
b =
1 2 3 4
5 6 7 8
3 10 11 12
13 14 15 16
Jika kita ingin mengubah baris ke tiga
b(3,:)=3
b =
1 2 3 4
5 6 7 8
3 3 3 3
13 14 15 16
Jika kita ingin mengubah kolom ke 2
b(:, 2) = [1 2 3 4]
b =
1 1 3 4
5 2 7 8
3 3 3 3
13 4 15 16
Jika anda ingin mengubah baris ke tiga pada kolom 1 sampai 3
b(3,1:3) = [1 2 3]
b =
1 1 3 4
5 2 7 1
1 2 3 3
13 4 15 16
Jika anda ingin menghapus seluruh isi baris ke 3.
b(3,:)=[]
b =
1 1 3 4
5 2 7 8
13 4 15 16
Menggabungkan Array/Vektor/Matrix (Concatenation)
ada dua macam penggabungan yang dapat dilakukan, yaitu vertikal
dengan ; dan horizontal dengan ,
A = [1 2 3];
B = [4 5 6];
C = [A ; B]
C =
1 2 3
4 5 6
F = [ A , B ]
F = 1 2 3 4 5 6
4. Matriks Khusus
Matriks khusus merupakan matriks yang didefiniskan oleh
matlab, sehingga kita tinggal menggunakannya. Contoh: matriks nol, matriks
diagonal, matriks identitas, dan sebagainya.
a)
Matriks nol
Matriks yang elemenya
bilangan nol. Bentuk umum:
>> zeros(n,m)
Contoh :
>>
zeros(2,3)
ans =
0
0 0
0
0 0
b)
Matriks satu
Matriks yang elemenya
bilangan nol. Bentuk umum:
>> ones(n,m)
Contoh :
>>
ones(3,3)
ans =
1
1 1
1
1 1
1
1 1
c) Matriks identitas.
Matrix identitas ini adalah matrix bujursangkar dengan nilai 0,
kecuali pada diagonalnya. Bentuk umum:
>> eye(n)
Contoh :
>>
eye(3)
ans =
1
0 0
0
1 0
0
0 1
d) Matriks bujur sangkar ajaib
Matriks yang memiliki jumlahan yang sama pada tiap baris, kolom
maupun diagonalnya. Bentuk umum:
>>magic(n)
Contoh :
>>
magic(4)
ans =
16
2 3 13
5
11 10 8
9
7 6 12
4
14 15 1
e)
Matriks
acak. Matriks isinya bernilai acak berdasarkan distribusi statistic.. Bentuk
umum:
>>rand(n,m)
Contoh :
>>
rand(4,4)
ans =
0.61543 0.17627 0.41027 0.81317
0.79194 0.40571 0.89365
0.0098613
0.92181 0.93547 0.057891 0.13889
0.73821 0.9169 0.35287 0.20277
Beberapa fungsi matriks:
A’ – transpose dari matriks A
det(A) – determinant dari matriks A
eig(A) – eigenvalues and
eigenvectors
inv(A) – inverse dari matriks A
svd(A) – singular value
decomposition
norm(A) – matrix atau vector norm
size(A) – ukuran dari matriks A
5. Operasi pada Matrix
Pada matlab,
operasi + dan - dilakukan pada tiap elemen, karena itu ukuran dari matrix
tersebut harus sama.
A = [1 2 0; 2 5 -1; 4 10 -1]
A =
1 2 0
2 5 -1
4 10 -1
Jika kita hendak mencari transposenya
>> B = A'
B =
1 2 4
2 5 10
0 -1 -1
Jika kita hendak mengalikan A*B,
>> C = A * B
C =
5 12 24
12 30 59
24 59 117
Jika kita hendak mengalikan per-elemen A dan B
>> C = A .* B
C =
1 4 0
4 25 -10
0 -10 1
Jika kita hendak menambahkan A dan B.
>> A+B
2 4 4
4 10 9
4 9 -2
Jika kita hendak mengurangkan A dan B.
>> A-B
0 0
-4
0 0
-11
4 11
0
6. Grafik
Matlab
mempunyai bermacam-macam fungsi untuk menampilkan grafik, dimana setiap fungsi
memiliki perbedaan dalam menskalakan garis sumbu. Setiap menerima inputan dalam
bentuk vector atau matriks, matlab akan menskalakan secara otomatis.
6.1 Plot & Subplot
Fungsi
plot digunakan untuk menggambar grafik 2D dengan skala linear pada kedua
sumbunya.
a.
Plot :
>> x = 0:pi/30:2*pi; % x vector, 0 <= x <= 2*pi, increments of pi/30
>> y = sin(3*x); % vector of y values
>> plot(x,y) % create the plot
>> xlabel('x (radians)'); % label the x-axis
>> ylabel('sine function'); % label the y-axis
>> title('sin(3*x)'); % put a title on the plot
Hasilnya akan tampak sebagai berikut:
Perintah :
- grid on/off - turn grid on and off
- hold on/off -holds the current plots
- title - adds a title to the plot
- xlabel - adds an x axis label
- ylabel - adds a y axis label
- legend - add a legend to the plot
- text - add text to a specified position on the plot
- gtext - interactively place text on the plot
- ginput - pick off coordinates from a plot
Selain plot, kita juga dapat menggunakan :
- loglog - creates a plot using log (base 10) scales for both axes
- semilogx - creates a plot using a log scale for the x-axis and linear scale for y
- semilogy - creates a plot using a log scale for the y-axis and linear scale for x
- plotyy - creates a plot of 2 sets of data with separate vertical scales
b. Subplot
Subplot digunakan ketika kita ingin membuat beberapa gambar dalam satu
figure.
clear
all
close
all
% subplot (nrows,ncols,plot_number)
x=0:.1:2*pi;
% x vector
from 0 to 2*pi, dx = 0.1
subplot(2,2,1);
% plot sine
function
plot(x,sin(x));
subplot(2,2,2);
% plot
cosine function
plot(x,cos(x));
subplot(2,2,3)
% plot
negative exponential function
plot(x,exp(-x));
subplot(2,2,4);
% plot x^3
plot(x,
x.^3);
* untuk gambar hasil tidak saya sertakan,mungkin anda bisa langsung mencoba dan tahu akan hasilnya.
6.2 plot3
Fungsi plot3 digunakan untuk menampilkan grafik 3 dimensi.
Plot3 memerlukan 3 argumen dengan bentuk plot3(x,y,z), dimana x, y, z merupakan
3 bagian vector yang sama panjang.
Contoh:
>> t=0:pi/100:10*pi;
>> plot3(sin(2*t), cos(2*t), t)
* untuk gambar hasil tidak saya sertakan,mungkin anda bisa langsung mencoba dan tahu akan hasilnya.
6.3 Bar
Fungsi bar digunakan untuk menampilkan data yang berbentuk
vector maupun matriks. grafIk bar
digunakan untuk menampilkan sekumpulan data selama kurun waktu terentu dan
cocok untuk menampilkan data dalam bentuk diskrit.
Contoh:
>> t=[10 30 21 52; 34 67 12 23; 90, 23, 45, 26; 58 94
30 20];
>> bar(t)
>> grid on
* untuk gambar hasil tidak saya sertakan,mungkin anda bisa langsung mencoba dan tahu akan hasilnya.
Matlab juga menyediakan dalam
bentuk 3 dimensi, yaitu bar3. Missal grafik diatas disajikan dalam bar3, maka
kita ketik perintah berikut:
>>bar3
* untuk gambar hasil tidak saya sertakan,mungkin anda bisa langsung mencoba dan tahu akan hasilnya.
6.4 Pie
Fungsi pie digunakan untuk menampilkan data secara
prosentase, dimana setiap elemen data akan dibandingkan dengan penjumlahan
seluruh data yang ada. Grafik pie dapat disajikan dalam bentuk 2 dimensi maupun
3 dimensi.
Contoh:
>> x=[10 20 45 25];
>> pie(x, {'A', 'B', 'C', 'D') à pie 2 dimensi
>> pie3(x, {'A', 'B', 'C', 'D') à pie 3 dimensi
Perintah diatas akan menghasilkan gambar sebagai berikut:
* untuk gambar hasil tidak saya sertakan,mungkin anda bisa langsung mencoba dan tahu akan hasilnya.
6.5 Stem
Fungsi stem cocok digunakan untuk menampilkan data dalam
bentuk diskrit.
Contoh:
>> x=1:10;
>> y=rand(1,10);
>> stem(x,y)
* untuk gambar hasil tidak saya sertakan,mungkin anda bisa langsung mencoba dan tahu akan hasilnya.
sekian penjelasan dari saya, jika ada salah penulisan mohon maaf terima kasih telah membaca.