20 Ekim 2012

MATLAB'da Matrisler ve Matris İşlemleri 2

Merhabalar;

MATLAB'da matris işlemleri için bazı fonksiyonlar tanımlanmıştır. Bunların en sıkça kullanılanlarından bahsedeceğim.

rand(): 0 ve 1 arasında rastgele düzenli dağılmış sayılardan matris oluşturur. Örneğin:

>> rand(2,3)

ans =

    0.9572    0.8003    0.4218
    0.4854    0.1419    0.9157

randn(): Rastgele normal dağılmış sayılardan matris oluşturur. Örneğin:

>> randn(2,3)

ans =

    1.4090    0.6715    0.7172
    1.4172   -1.2075    1.6302

eye(): Birim matris oluşturmaya yarar. Örneğin:

>> eye(3,3)

ans =

     1     0     0
     0     1     0
     0     0     1

ones(): 1 rakamından oluşan bir matris oluşturur. Örneğin:

>> ones(2,3)

ans =

     1     1     1
     1     1     1

zeros(): 0 rakamından oluşan bir matris oluşturur. Örneğin:

>> zeros(4,2)

ans =

     0     0
     0     0
     0     0
     0     0

diag(): Matrisin köşegenini bulur. Örneğin başta tanımladığımız A matrisi için:

>> A

A =

     1     8     5    19
     2     3     6     7

>> diag(A)

ans =

     1
     3

fliplr(): Matrisi soldan sağa çevirir. Örneğin:

>> A

A =

     1     8     5    19
     2     3     6     7

>> fliplr(A)

ans =

    19     5     8     1
     7     6     3     2

flipud(): Matrisi yukarıdan aşağıya çevirir. Örneğin:

>> A

A =

     1     8     5    19
     2     3     6     7

>> flipud(A)

ans =

     2     3     6     7
     1     8     5    19

sum(): Matris elemanlarını sütun sütun toplamaya yarar. Her sütundaki elemanlar kendi aralarında toplanır.Örneğin:

>> A

A =

     1     8     5    19
     2     3     6     7

>> sum(A)

ans =

     3    11    11    26

Bu işlemde bir tane daha sum() kullanırsak tüm elemanları toplayabiliriz:

>> sum(sum(A))

ans =

    51

sum(sum(A))'nın eşdeğeri de vardır .Şöyledir:

>> sum(A(:))

ans =

    51

min(): Matrisin en küçük elemanını bulmaya yarar. Tıpkı sum() gibi sütun sütun işlem yapar. Örneğin:

A =

     1     8     5    19
     2     3     6     7

>> min(A)

ans =

     1     3     5     7

Her sütundaki en küçük elemanı verdi. En küçük elamana ulaşmak için:

>> min(min(A))

ans =

     1

yazılabilir. Ya da:

>> min(A(:))

ans =

     1

max(): Matrisin en büyük elemanını bulmaya yarar. min() fonksiyonu gibidir. Örneğin:

>> A

A =

     1     8     5    19
     2     3     6     7

>> max(A)

ans =

     2     8     6    19

Her sütundaki en büyük elamanları verdi. En büyük elemana ulaşmak için:

>> max(max(A))

ans =

    19

Ya da:

>> max(A(:))

ans =

    19

yazılabilir.

mean(): Ortalama bulmaya yarayan fonksiyondur. Yine bu fonksiyon da sütun sütun işlem yapar. Örneğin: 

>> A

A =

     1     8     5    19
     2     3     6     7

>> mean(A)

ans =

    1.5000    5.5000    5.5000   13.0000

Görüldüğü gibi herbir sütunun elamanlarını toplayarak ortalama buldu. Toplam ortalamayı bulmak için:

>> A

A =

     1     8     5    19
     2     3     6     7

>> mean(mean(A))

ans =

    6.3750  

Ya da:

>> mean(A(:))

ans =

    6.3750

yazılabilir.

det(): Kare matrislerin determinantını bulmaya yarar. Matris kare değilse hata verir. Örneğin:

>> a

a =

     1     2
     2     3

>> det(a)

ans =

    -1

size(): Matrisin boyutlarını verir. Örneğin:

>> A

A =

     1     8     5    19
     2     3     6     7

>> size(A)

ans =

     2     4

İlk sayı satır sayısı, ikinci sayı sütun sayısıdır.

length(): Matsisin uzunluğunu verir. Örneğin:

>> A

A =

     1     8     5    19
     2     3     6     7

>> length(A)

ans =

     4

reshape(): Matrisin yeniden boyutlandırılmasını sağlar. Fakat yeni boyutun da eski boyutu desteklemesi gerekir. Örneğin:

>> A

A =

     1     8     5    19
     2     3     6     7

>> reshape(A,4,2)

ans =

     1     5
     2     6
     8    19
     3     7

2x4'lük bir matristen, 4x2 boyutlu bir matrsi elde ettik. Unutulmamalıdır ki yine sütunlarla işlemler yaptık. Sütunları birbirine kuyruk gibi bağlanmış olarak hayal edebilirsiniz. Burada reshape(3,3) yazsaydık;
??? Error using ==> reshape
To RESHAPE the number of elements must not change.   şeklinde bir hata mesajı alacaktık.

dot(): Vektörlerin ve matrislerin skaler çarpımlarını bulan fonksiyondur. Örneğin matrislerde:

a =

     1     2     3
     2     3     4

>> b=[3,4,5;5,6,7]

b =

     3     4     5
     5     6     7

>> dot(a,b)

ans =

    13    26    43

Vektörlerde:

>> a=[1,2,5,6,7]

a =

     1     2     5     6     7

>> b=[4,6,4,1,0]

b =

     4     6     4     1     0

>> dot(a,b)

ans =

    42

repmat(): Bu fonksiyon bir matrisi başka bir matristen farklı bir boyutta klonlayacağımız zaman kullanılır. Örneğin:

A=repmat(Z,4,2) yazdığımızda A matrisi Z matrisinin 4 defa satırda 2 defa da sütunda tekrar eden matrise eşit olur.


>> Z=[1,2;2,3]

Z =

     1     2
     2     3

>> A=repmat(Z,4,2)

A =

     1     2     1     2
     2     3     2     3
     1     2     1     2
     2     3     2     3
     1     2     1     2
     2     3     2     3
     1     2     1     2
     2     3     2     3


Bu fonksiyonlar MATLAB'da işlem yaparken sık sık başvurulan fonksiyonlardır. Daha ayrıntılı bilgilere ulaşmak için daha önce bahsettiğim help komutunu kullanabilirsiniz.

Hoşçakalın.


5 yorum:

  1. Sınav için faydalı oldu. :)) Teşekkürler kuzen.

    YanıtlaSil
    Yanıtlar
    1. Rica ederim Serkan hem şaşırdım hem de sevindim sen yazınca 😊
      Başarılar 😊

      Sil
    2. Bölümde senin sayfandan ders çalışan birinden gördüm sayfanı çok akademik ve başarılı buldum. :)) Tekrar teşekkür ederim. İyi çalışmalar diliyorum.

      Sil