Rabu, 10 April 2013

MANIPULASI MATRIKS (Menggunakan MATLAB)

 MATRIKS DAN MATLAB

Assalamu A'laikum Warahmatullahi Wabarakatuh
Kali ini kami akan posting mengenai Matriks dengan menggunakan software MATLAB.


Matriks dan Persegi Ajaib
Dalam MATLAB, matriks adalah sederetan bilangan  segi-empat. Arti khusus kadang dihubungkan dengan 1-by-1 matriks 1 x 1, Yaitu Skalar, dan matriks-matriks yang hanya satu baris atau kolom, yaitu vector.
MATLAB mempunyai cara-cara tersendiri dalam hal penyimpanan data numerik maupun nonnumerik, tetapi pada awalnya, umumnya lebih baik memikirkan segalanya sebagai matriks. Operasi – operasi di MATLAB dirancang sealami mungkin. Bahasa program lain bekerja dengan angka – angka satu demi satu sedangkan MATLAB memungkinkan bekerja dengan matriks secara keseluruhan dengan cepat dan mudah.
a. Memasukkan Matriks
Cara terbaik untuk dapat menguasai MATLAB adalah dengan mempelajari cara – cara menangani matriks. Jalankan MATLAB dan ikuti tiap – tiap contoh.
          Untuk memasukkan matriks ke MATLAB dapat dilakukan dengan beberapa cara :
·         Memasukkan secara langsung unsur – unsur Matriks
·         Load matriks dari file data eksternal.
·         Membangun matriks menggunakan fungsi –fungsi built-in
·         Membangun matriks menggunakan M-file yang dibuat sendiri

Cara pertama dilakukan dengan memperhatikan beberapa ketentuan yang diberlakukan dalam MATLAB;
·         Pisahkan unsur – unsur dalam satu baris dengan spasi atau koma.
·         Gunakan titik-koma “;” untuk mengakhiri tiap baris.
·         Batasi keseluruhan unsur – unsur matriks dengan kurung siku, “[]”.
Masukkan matriks berikut ke Matlab dengan mngetiknya pada Command Window:

>> A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
MATLAB akan menampilkan matriks yang baru dimasukkan :
A =
    16     3     2    13
     5    10    11     8
     9     6     7    12
     4    15    14     1
Begitu suatu  A matriks dimasukkan (diketik pada Comand Window), secara otomatis akan di ingat di workspace, dan perhatikan apa yang menarik dari matriks A tersebut. Mengapa ajaib?


b. sum, transpose, dan diag
Mungkin pembaca telah melihat sifat istimewa dari persegi ajaib, yaitu jumlah unsur – unsurnya, sepanjang baris atau kolom manapun, serta pada dua diagonalnya, selalu memberikan jumlahan yang sama. Hal ini dapat diperiksa menggunakan MATLAB. Pernyataan pertama untuk mencoba ini adalah
    >> sum(A)
MATLAB akan menampilkan
ans =
    34    34    34    34

Jika variable output tidak ditetapkan, MATLAB menggunakan variable  ans, singkatan dari answer, untuk menyimpan hasil perhitungan. Pernyataan sum(A)diatas menghasilkan vektor baris yang berisi jumlah – jumlah unsur- unsur dalam tiap kolom A.
                Bagaimana halnya dengan jumlah unsur – unsur tiap baris? MATLAB bekerja dengan kolom – kolom suatu matriks, sehingga cara termudah untuk mendapatkan jumlahan baris adalah  matriks transpose. Operasi transpose dinyatakan dengan apostrophe (tanda petik tunggal), ‘, yaitu
>> A'
                Yang akan menghasilkan
ans =
    16     5     9     4
     3    10     6    15
     2    11     7    14
    13     8    12     1
      Dan
                >> sum (A')'
Menghasilkan vektor kolom yang memuat jumlahan baris
ans =
    34
    34
    34
    34
Sedangkan jumlah unsur – unsur pada diagonal utama dapat diperoleh dengan bantuan fungsi diag yang mengambil unsur –unsur pada diagonal utama.
>> diag(A)
      Yang menghasilkan
ans =
    16
    10
     7
     1
      Dan
                >> sum (diag(A))
Memberikan hasil
ans =
    34
Untuk diagonal ke-dua, yang juga disebut antidiagonal, secara matematis tidak begitu penting, sehingga MATLAB tidak mempunyai fungsi yang khusus untuk itu. Tetapi suatu fungsi yang sesungguhnya disediakan untuk grafik, yaitu fliplr, membalik matriks dari kiri ke kanan.
>> sum(diag(fliplr(A)))
ans =
    34


          c. subscripts
Unsur pada baris ke-i kolom ke-j dari matriks  A (i,j). Dengan bentuk ini jumlah unsur – unsur pada kolom ke-empat dari matriks A dapat dihitung dengan menuliskan 
                >> A(1,4) + A(2,4) + A(3,4) + A(4,4)
ans =
    34
Dimungkinkan juga menunjuk unsur suatu matriks dengan subscript tunggal, A(k). ini merupakan cara yang lazim untuk menunjuk vektor-vektor kolom atau baris. Akan tetapi ini juga dapat diterapkan untuk matriks dua dimensi, yang dalam hal ini dipandang sebagai satu vektor kolom panjang dibentuk dari kolom-kolom matriks asalnya. Dengan demikian, untuk persegi ajaib, A(8) merupakan cara untuk menunjuk nilai 15 yang tersimpan dalam A(4,2).
Penggunaan subscript diluar matriks yang diketahui, akan menimbulkan error
>> A(4,5)
??? Index exceeds matrix dimensions.
Akan tetapi, jika suatu nillai disimpan pada suatu unsur diluar matriks, maka ukuraan matriks akan membesar untuk menampung unsur baru itu.
>> X = A;
>> X(4,5)=17
X =
    16     3     2    13     0
     5    10    11     8     0
     9     6     7    12     0
     4    15    14     1    17

Untuk selanjutnya, mulai dari bagian berikut dibawah ini, penulisan ekspresi MATLAB tidak disertai prompt MATLAB, >>¸Untuk itu, pembaca diharapkan lebih cermat mebedakan ekspresi yang ditulis/dimasukkan ke MATLAB dengan hasil /output yang dihasilkan MATLAB

                d. Operator Colon
Colon (tanda titik – dua), : , merupakan salah satu operator MATLAB yang sangat penting. Operator ini muncul dalam beberapa bentuk yang berbeda. Ekspresi ini
                1:10
Adalah vektor baris yang memuat bilangan bulat dari 1 sampai dengan 10
1     2     3     4     5     6     7     8     9    10
Untuk beda yang bukan satuan, tetapkan pertambahan. Sebagai contoh
ans =
   250   225   200   175   150   125   100    75    50    25
      Dan
                0:pi/4:pi
adalah
ans = 
         0    0.7854    1.5708    2.3562    3.1416
Ekspresi subscript yang memuat colon yang menunjuk pada bagian suatu matriks. Sebagai contoh
A(l:k,j)
      Adalah menunjuk K unsur pertama dari kolom ke-j dari A dengan demikian
sum(A(1:4,4))
adalah menghitung  jumlahan pada kolom ke-empat. Ada cara yang lebih baik lagi. Colon itu sendiri menunjuk ke semua unsur dalam  suatu baris atau kolom suatu matriks dan kata kunci end menunjuk pada baris  atau kolom terakhir. Jadi
sum(A(:,end))
menghitung jumlah unsur – unsur pada kolom terakhir dari A
ans =
     34
Mengapa jumlah ajaib untuk persegi ajaib 4 x 4 adalah 34? Apabila bilangan bulat 1 sampai 16 diurutkan kedalam empat kelompok dengan jumlah sama, maka jumlahnya  adalah
sum(1:16)/4
yang tentu saja memberikan hasil
ans =
    34
e. Fungsi Magic
MATLAB sebenarnya mempunyai fungsi built-in untuk membanngun persegi ajaib untuk hamper semua ukuran. Sewajanyalah fungsi itu dinamai magic.
B = magic(4)
B =
    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1
Matriks ini hamper sama dengan yang ada dilukisan durer dan mempunyai sifat magic yang sama; perbedaaannya hanya pada dua kolom tengah. Untuk mengubah B menjadi matriks A-nya durer, tukarkan dua kolom yang ditengah:
A = B(:,[1 3 2 4])
A =
    16     3     2    13
     5    10    11     8
     9     6     7    12
     4    15    14     1
                Mengapa durer membuat masalah dengan pengaturan letak kolom-kolom padahal dia dapat menggunakan pengurutan seperti MATLAB? Ternyata dia ingin menampakkan tahun lukisannya, 1514, di bagian bawah persegi ajaibnya.

*sumber: Dokumen Pribadi.. 
Title: MANIPULASI MATRIKS (Menggunakan MATLAB); Written by Unknown; Rating: 5 dari 5

Tidak ada komentar: