Dasar membuat matrik atau vektor di Matlab

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.