26 Ocak 2015 Pazartesi

Matlab Ders Notlarım

İlk olarak Matlab'ın sembolünü çizdirelim. Komut satırına;

z=peaks(25);
surf(z);
colormap(jet)

yazın tamamdır :)


----------------------------------------------------------------------------------------------------
Matlab=Matris Laboratuvarının kısaltılmışıdır. Teknik ve Bilimsel hesaplamalar yapmak için yaygın olarak kullanılır. Grafiksel arayüz ile işlemleri görsel hale getirebiliriz. Matlab'da yazmış olduğumuz kodları C ve C++ kodlarına dönüştürebiliriz. Diğer programa dillerine göre oldukça yavaştır. 
Workspace=Çalışma Alanı. Atadığımız değişkenleri burada görürüz.
Command History=Komut Tarihçesi. Command Window’da yazmış olduğumuz komutların tutulduğu penceredir.
a=2 dediğimiz zaman a’nın değerini 2 olarak atamış oluyoruz.
b=3 dediğimiz zaman ise b’nin değeri 3 oluyor
c=a+b dediğimiz zaman c’ye 5 değeri tanımlanıyor.
Matlab’da diğer programlama dilleri gibi değişkenleri tanımlamamıza gerek yok.

clear a tanımlanan a değerini ortadan kaldırır.(0 yapmaz. 0’da bir değerdir.)
clc       Ekranın temizler. Değişkenlere verilen değerleri silmez.
clear    Değişkenlere verilen değerleri ortadan kaldırır.
a=[3 1 6]   Herhangi bir değişkene Vektör ve Matris atamak için köşeli parantez kullanırız.

b=[3 1 6;4 7 2]  Köşeli parantezin içindeki noktalı virgül 2. Satıra geçmek demektir.


-----------------------------------------------------------------------------------------------------------------
Matlab küçük-büyük harf duyarlıdır. A ile a değişkeni aynı değildir.
Transpoz=Bir matriste satırlar ile sütunların yer değiştirmesidir. A matrisinin transpozu AT (veya AtrtA veya A′) olarak gösterilir.

a nın traspozu a' komutuyla alınmış olur.

a matrisinin diagonali 1. satır 1. sütundan son satır son sütuna kadar olan kısmı kadar çapraz değerleridir.

a(2,4) a matrisinin 2. satır 4. sütunundaki değeri verir.

a matrisinde bir değeri değiştirmek için a(2,4)=7 komutuyla 7 değerini atarız.
-----------------------------------------------------------------------------------------------------------------
Kolon operatörleri;

1:10 komutu
ans=1 2 3 4 5 6 7 8 9 10 şeklinde değerleri bize sıralar. Benzer şekilde;

3:6 komutu
ans=3 4 5 6

1:2:10 komutu başlangıç rakamı olan 1'e 2'şer 2'şer ekleyerek 10'a kadar olan sayıları göster demektir.
ans=1 3 5 7 9

1:0.5:5 komutu
ans=1.000 1.500 2.000 2.500 3.000 3.500 4.000 4.500 5.000

(nokta ile virgül arasındaki farkı şöyle anlayabiliriz.)

1:2,5:10 komutu
ans=1 2  ve
ans=5 6 7 8 9 10 matrislerini verir.

"." ile ","'ün farkını bu şekilde görmüş olduk. Ondalık sayılar arasında "." kullanmalıyız.

0:pi/4:pi komutu
ans=0 0.7854 1.5708 2.3562 3.1416 matrisini verir.

m=[1 2 3 4;2 3 1 5;8 4 3 6] matrisinin istediğimiz değerine ulaşalım.

m=(1:2,2) komutuyla 1. satırdan 2. satıra kadar olan kısmın 2. sütunla kesişen kısımda oluşturduğu matrisi verir.
ans=2
        3

m=(1:2,2;3) komutunun cevabı
ans=2 3
        3 1

m=(2:3,1:4)
ans=2 3 1 5
        8 4 3 6

m=(2:3,:) komutuyla da (:) tümü demektir.
ans=2 3 1 5
        8 4 3 6

Şöyle ki m=(:,:) komutu m matrisini verir.
ans=1 2 3 4
       2 3 1 5
       8 4 3 6

m=(1:2,3:4)=-1 komutu, 1. satırdan 2. satıra kadar olan kısmın 3. sütundan 4. sütuna kadar olan kısımla kesiştiği noktadaki matrisin elemanlarını -1 yapar.
m=1 2 -1 -1
      2 3 -1 -1
      8 4  3  6

m=(4,1)=2 komutu, 4. satır 2. sütuna 2 değerini atamaktadır.
m=1 2 -1 -1
     2 3 -1 -1
     8 4  3  6
     2 0  0  0
m matrisimiz 3x4'lük matristi. Bu komutla değer vermediğimiz 4x4'lük matris oluşturuyoruz. Değer vermediğimiz elemanlara "0" değeri atanır.

m=(1,2:end)
ans=2 -1 -1

m=(1:end,2:4)
ans=2 -1 -1
        3 -1 -1
        4  3  6

        0  0  0
-----------------------------------------------------------------------------------------------------------------
Bazı komutlar;

help komutu fonksiyonun nasıl çalıştığı hakkında bilgi verir.

magic(4) komutu 4x4 matris oluşturur. Bu matrisin diyagonalleri toplamı eşittir.
ans=16   2   3  13
         5  11 10   8
         9   7   6  12

         4  14 15   1

lookfor image komutu, içerisinde "image" geçen tüm komutları ve ifadeleri listeler.

zeros(3) komutu tüm değerleri 0 olan 3x3'lük matris oluşturur.
zeros(3,4) komutu 3x4'lük matris

ones(4) komutu tüm değerleri 1 olan 4x4'lük matris oluşturur.
ones(4,5) komutu 4x5'lik matris oluşturur.

rand(3) komutu değerleri 0-1 arasında olan 3x3'lük rastgele bir matris oluşturur.
rand(3,4) komutu 3x4'lük matris oluşturur.
rand(size(a)) komutu a matrisi ile aynı boyutlara sahip rastgele bir matris üretir.
randn()

-----------------------------------------------------------------------------------------------------------------
Matrisin Determinantı, Tersi ve Dört İşlem

matrisimiz a=[2 3 -4;1 0 1;0 -2 1] olsun.
det(a) komutu a matrisinin determinantını verir.
ans=9

matrisin tersini  a^-1 komutuyla alırız.
a^-1
ans=0.2222  0.5556  0.3333
      -0.1111  0.2222 -0.6667
      -0.2222  0.4444 -0.3333

bir matrisi 2 ile çarpmak(her bir elemanı 2 ile çarpmak) 2*a
bir matristen 5 çıkarmak(her bir elemandan 5 çıkarmak) a-5
bir matrisi 3 e bölmek(her bir elemanı 3 e bölmek) a/3

Matlabda Inf değeri sonsuz, NaN değeri bir sayı değil demektir.

b=[a a+2;a-2 a*3]
b =

     2     3    -4     4     5    -2
     1     0     1     3     2     3
     0    -2     1     2     0     3
     0     1    -6     6     9   -12
    -1    -2    -1     3     0     3
    -2    -4    -1     0    -6     3


-----------------------------------------------------------------------------------------------------------------
Vektör Matrislerde Dört İşlem

a=[1 2 3;1 1 0;-1 2 1]
b=ones(3) olsun.

c=a+b
c =
     2     3     4
     2     2     1
     0     3     2

d=a-b
d =

     0     1     2
     0     0    -1
    -2     1     0

a*b
ans =

     6     6     6
     2     2     2
     2     2     2

b*a
ans =

     1     5     4
     1     5     4
     1     5     4




-----------------------------------------------------------------------------------------------------------------
a=[1 2 3;1 1 0;-1 2 1]
b=[3 1 0;2 1 0]

b*a
ans =

     4     7     9
     3     5     6

a^2
ans =

     0    10     6
     2     3     3
     0     2    -2


-----------------------------------------------------------------------------------------------------------------
m.file (Script) Dosyası Oluşturma
Neden m.file kullanırız? Command Windows'da yazdığımız komutlar, Matlabı kapatıp açtığımız zaman silinir. Silinmesin diye çalışmaları m.file üzerinde yapmalıyız.

m.file dosyasına yazdığımız kodların sonucu Command Window'da görünmemesini istiyorsak, komutun devamında ; koymalıyız.



Hiç yorum yok:

Yorum Gönder