THOUSANDS OF FREE BLOGGER TEMPLATES

Rabu, 16 November 2011

PENGENALAN MATRIKS DI MATLAB

Sebuah pengenalan dasar untuk mendefinisikan dan memanipulasi matriks diberikan di sini. Diasumsikan bahwa anda mengetahui dasar-dasar tentang cara mendefinisikan dan memanipulasi vektor menggunakan matlab.
> Mendefinisikan Matriks
> Matrix Fungsi
> Matrix Operasi

Mendefinisikan Matriks

Mendefinisikan matriks mirip dengan mendefinisikan vektor. Untuk menentukan matriks, Anda bisa memperlakukannya seperti kolom vektor baris (perlu diketahui ruang yang diperlukan):

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

A =

1 2 3

3 4 5

6 7 8

Anda juga dapat memperlakukannya seperti deretan vektor kolom:

>> B = [ [1 2 3]' [2 4 7]' [3 5 8]']
B =
     1     2     3
     2     4     5
     3     7     8

Jika Anda telah meletakkan dalam variabel melalui ini dan tutorial tentang vektor, maka Anda mungkin punya banyak variabel yang ditetapkan. Jika Anda kehilangan jejak dari apa variabel yang telah didefinisikan, perintah whos akan memberitahu Anda semua variabel yang ada di ruang kerja Anda.

>> whos
  Name      Size                   Bytes  Class
  A         3x3                       72  double array
  B         3x3                       72  double array
  v         1x5                       40  double array
Grand total is 23 elements using 184 bytes

notasi yang digunakan oleh Matlab adalah standar notasi aljabar linier Anda seharusnya melihat sebelumnya. Perkalian matriks-vektor dapat dengan mudah dilakukan. Anda harus hati-hati, matriks dan vektor harus memiliki ukuran yang tepat!

>> v = [0:2:8]
v =
     0     2     4     6     8
>> A*v(1:3)'
ans =
    16
    28
    46

Biasakan untuk melihat bahwa pesan kesalahan tertentu! Setelah Anda mulai menuliskan matriks dan vektor sekitar, mudah untuk melupakan ukuran dari hal-hal yang Anda buat.

Dapat bekerja dengan bagian-bagian berbeda dari sebuah matriks, seperti halnya Anda bisa dengan vektor. Sekali lagi, Anda harus berhati-hati untuk memastikan bahwa operasi adalah benar.

>> A(1:2,3:4)
???  Index exceeds matrix dimensions.
>> A(1:2,2:3)
ans =
     2     3
     4     5
>> A(1:2,2:3)'
ans =
     2     4
     3     5

Fungsi-fungsimatriks

Setelah Anda dapat membuat dan memanipulasi suatu matriks, Anda dapat melakukan operasi standar banyak di atasnya. Sebagai contoh, Anda dapat menemukan invers matriks. Anda harus hati-hati, namun, karena operasi manipulasi numerik dilakukan pada komputer digital. Pada contoh, si A bukan matriks matriks penuh, tapi rutin terbalik matlab masih akan kembali matriks.

>> inv(A)
Warning: Matrix is close to singular or badly scaled.
         Results may be inaccurate. RCOND = 4.565062e-18
ans =
   1.0e+15 *
   -2.7022    4.5036   -1.8014
    5.4043   -9.0072    3.6029
   -2.7022    4.5036   -1.8014

Operasi lainnya termasuk menemukan pendekatan kepada nilai-nilai eigen dari matriks. Ada dua versi dari rutin, satu hanya menemukan nilai-nilai eigen, yang lain menemukan kedua nilai eigen dan vektor eigen. Jika Anda lupa mana yang mana, Anda bisa mendapatkan informasi lebih lanjut dengan mengetik membantu EIG di matlab prompt.

>> eig(A)
ans =
   14.0664
   -1.0664
    0.0000
>> [v,e] = eig(A)
v =
   -0.2656    0.7444   -0.4082
   -0.4912    0.1907    0.8165
   -0.8295   -0.6399   -0.4082
e =
   14.0664         0         0
         0   -1.0664         0
         0         0    0.0000
>> diag(e)
ans =
   14.0664
   -1.0664
    0.0000

Operasi-operasimatriks

Ada juga rutinitas yang memungkinkan Anda menemukan solusi untuk persamaan. Misalnya, jika Ax = b dan Anda ingin mencari x, cara lambat untuk menemukan x adalah hanya membalikkan A dan melakukan kiri berkembang biak pada kedua sisi (lebih pada nanti). Ternyata bahwa ada metode yang lebih efisien dan lebih stabil untuk melakukan hal ini (L / dekomposisi U dengan berputar, misalnya).

Sebelum menemukan pendekatan untuk sistem linier, penting untuk diingat bahwa jika A dan B keduanya matriks, maka AB belum tentu sama dengan BA. Untuk membedakan perbedaan antara pemecahan sistem yang memiliki hak atau kiri memperbanyak, Matlab menggunakan dua operator yang berbeda, “/” dan “\”. Contoh penggunaan diberikan di bawah ini.

>> v = [1 3 5]'
v =
     1
     3
     5
>> x = A\v
Warning: Matrix is close to singular or badly scaled.
         Results may be inaccurate. RCOND = 4.565062e-18
x =
   1.0e+15 *
    1.8014
   -3.6029
    1.8014
>> x = B\v
x =
     2
     1
    -1
>> B*x
ans =
     1
     3
     5
>> x1 = v'/B
x1 =
    4.0000   -3.0000    1.0000
>> x1*B
ans =
    1.0000    3.0000    5.0000

Akhirnya, kadang-kadang Anda ingin menghapus semua data Anda dan memulai kembali. Anda dapat melakukan ini dengan perintah “clear”.

>> clear
>> whos

0 komentar: