13 Ekim 2020

#2 MATLAB Programlamaya Giriş

MATLAB programı matematiğin doğal dili olan matrisleri kullanarak işlemler gerçekleştiren bir programdır. Yapılan tüm işlemlerde kullanılan veriler birer matris olarak MATLAB tarafından işleme alınmaktadır.

MATLAB’ te bir matris tanımlamanın birden fazla yolu mevcuttur.


A = [1,2,3,4]

Çıktı:

A =
    1  2  3  4

Yukarıdaki kodda A isminde 1×4 boyutunda bir matris tanımlanmıştır. Bu kod MATLAB arayüzünde command window olarak belirtilen komut penceresine yazılarak çalıştırılıştır. Tanımlanan matrisin her bir elemanı birbirinden virgül(,) ile aytılmıştır. Aynı matris virgül ile ayırmadan sadece boşluk bırakarak da tanımlanabilmektedir.


B = [1 2 3 4]

Çıktı:

B =
    1  2  3  4

İki boyutlu matrisler yani 1 satır ve 1 sütundan fazla bileşeni olan matrisler tanımlanırken her satırı birbirinden ayırmak için noktalı virgül(;) kullnılmaktadır.


C = [1 2 3 4 ; 10 20 30 40 ; 5 10 15 20]

Çıktı:

C =
    1  2  3  4
    10 20 30 40
    5  10 15 20

Yukarıdaki gibi matris tanımlanabileceği gibi satır ve sütun verileri gerçek bir matris görünümünde girintili bir şekilde de tanımlanabilmektedir.

Matrise kaç değer girildiğini daha kolay kontrol etmek amacıyla her satır ayrı bir satıra yazılabilmaktedir. İstenirse noktalı virgül isteğe bağlı olarak satır sonuna konulabilmektedir.


D = [1 2 3 4
5 6 7 8
9 10 11 12]

Çıktı:

D = 
    1  2  3  4 
    5  6  7  8
    9  10 11 12

Yukarıdaki matris tanımlama işleminin noktalı virgül(;) ile yazılmış halii aşağıdaki gibidir.


E = [1 2 3 4;
5 6 7 8;
9 10 11 12]

Çıktı:

E =
    1  2  3  4
    5  6  7  8
    9  10 11 12

Matris tanımlama işleminde uzun ve yazması zahmetli matrisler iki nokta(:) operatörü kullanılarak daha kısa yazılabilmektedir. Matrisleri tanımlarken köşeli ayraçları kullanmak ise isteğe bağlı bir tercihtir.


F = [1 : 5]

Çıktı:

F =
    1  2  3  4  5

Yukarıdaki matris tanımlama işleminde kullanılan köşeli ayraçlar olmadan da matris aşağıdaki gibi tanımlanabilmektedir.


G = 1 : 5

Çıktı:

G =
    1  2  3  4  5

İki nokta(:) komutu ile oluşturulan matrislerde matris elemanlarının varsayılan artış miktarı 1’ dir. Bu artış miktarı değiştirilmek istenirse iki adet iki nokta(:) operatörü arasına artış miktarı yazılmaktadır.


H = [1 : 2 : 9]

Çıktı:

H =
    1  3  5  7  9

Matris tanımlanırken matrisin il ve son elemanı belli olduğu taktirde toplam eleman sayısı belirtilebilmektedir. Bu durumda matrisin elemanları MATLAB tarafından hesaplanarak oluşturulmaktadır. Bu işlem linspace komutu ile yapılamkatadır. İlk ve son elemanlar arasına lineer boşluk koyarak doğrusal bir artışla matris oluşturulmaktadır.


I = linspace (1 , 9 , 5)

Çıktı:

I =
    1  3  5  7  9

Yukarıda yapılan lineer boşluk işlemine ek olarak aynı işlem logaritmik olarak da yapılabilmektedir. Bunun için ise logspace komutu kullanılmaktdır.


J = logspace (3 , 7, 2)

Çıktı:

J =
    1000   10000000

Yukarıdaki örnekte 3 ve 7 sayıları 10′ un kuvvetlerini ifade etmektedir. Yazılan 2 sayısı ile matrisin 2 elemanlı oluşturulmak istenildiği belirtilmiştir.

İki matrisin MATLAB üzerinde matematik kurallarına uygun bir biçimde çarpılması için yıldız(*) operatörü kullanılmaktadır. Bu çarpma işlemi esnasında lineer cebir kurallarına uygun bir biçimde birinci matrisin satırları ikinci matrisin sutünları ile çarpılarak çarpım sonucunu oluşturan matrisin elemanlarını oluşturmaktadır.


K = [1 2 3 4 ; 5 6 7 8];
L = [3 6 ; 9 12 ; 15 18; 21 24];
M = K*L

Çıktı:

M =
    150  180
    342  420

Yukarıdaki matris çarpımına ek olarak matrisler sklaer çarpım ile de çarpılabilmektedir. Bu işlem .* operatörü ile gerçekleşmektedir. Her iki matrisin aynı konumdaki elemanlarını birbiri ile çarpmaktadır. Aşağıda örnek bir kod mevcuttur.


N = [1 2 3 4 ; 5 6 7 8];
O = [10 20 30 40 ;50 60 70 80];
P = N.*O

Çıktı:

P =
    10  40  90  160
    250 360 490 640

MATLAB üzerinde oluşturulan veya kullanılan matrisler kesme işareti yardımıyla transpoze edilebilmektedir. Yani satır ve sütunlar yer değiştirebilmektedir. Bu işlem bir bakıma matrisi devirmektedir.


R = [10 15 70 90];
S = R'

Çıktı:

R =
   10
   15
   70
   90

Yukarıdaki örnekten de görüldüğü üzere 4×1 boyutundaki R matrisi tırnak işareti(;) operatörü kullanılarak devrilmiştir ve bu yeni matris S değişkenine atanmıştır. Yeni matris 1×4 boyutundadır.

Yukarıdaki örneklerin tamamında MATLAB üzerinde bir matrisin nasıl tanımlanabileceğinden ve nasıl işleme alınabileceğinden bahsedilmiştir. Aşağıdaki tabloda MATLAB kullanırkan çok sık kullanılan bazı sayı biçim komutları mevcuttur. Bu komutlar sayıların formatlarının ayarlanmasını sağlamaktadır.


KomutİşleviÖrnek
format shortSayının basamak sayısını azaltmaktadır3.1416
format longSayının basamak sayısını artırmaktadır3.14159265358979
format short eSayıyı 4 ondalık basamak olacak şekilde göstermektedir3.1416e+000
format long eSayıyı 15 ondalık basamak olacak şekilde göstermektedir3.1415…793e+000
format short engSayıyı mühendislerin kullandığı bilimsel düzende yazmaktadır3.1416e+000
format +Matrisin her bir elemanının işareti baz alınarak matris tekrar + – formatında yazılmaktadır-3.14… veya +3.14…
format ratSayılar rasyonel formatta yazılmaktadır355/113
format bankSayının yalnızca iki adet ondalık basamağı yazılmaktadır3.14
format short gMATLAB sayı için en iyi kısa formatı seçmektedir3.1416
format long gMATLAB sayı için en iyi kısa formatı seçmektedir3.141592…979

Bu bigilere ek olarak MATLAB üzerinde sık sık kullanılan ve tercih edilen bazı kısayol komutları aşağıda sırasıyla verilmiştir.

  • diary veya diary on komutları ile kullanıcı çalışmalarını kaydedebilmektedir. Kaydedilen çalışma dosyaları daha sonra MATLAB ile açılabilmektedir.
  • diary’ veya diary (‘filename’) komutları ile kullanıcı çalışmalarını isimlendirerek kaydedebilmektedir.
  • diary my_diary_file veya diary (‘my_diary_file’) komutları ile çalışmalar isimlendirilerek kaydedebilmektedir.
  • save , save (‘file_name’) veya save my_example_file komutları ile ekranın sol alt kısmındaki workspace penceresindeki değişkenleri bilgisayara kaydedebilmektedir. Dosya ismini yazılmadan save komutu kullılarak bu işlem gerçektirilirse MATLAB bu dosyayı matlab.mat şeklinde kaydetmektedir.
  • load veya load (‘file_name’) komutları ile workspace penceresindeki veriler geri yüklenebilir ve whos komutu ile de bu veriler komut penceresinde görüntülenebilmektedir.
  • save veya save my_new_file a b komutları değişken listesinin kaydedilmesini sağlamaktadır.
  • save -ascii komutu değişken listesinin ascii formatında kaydedilmesini sağlamaktadır.
  • save my_new_file.dat a b -ascii komutu a ve b değişkenlerinin ascii formatında kaydedilmesini sağlamaktadır.
  • run myscript veya run (‘myscript’) komutları script dosyalarını çalıştımaktadır.
  • enable cell mode komutu ile cell modu aktif edilebilir ve komutlar hücrelere ayrılmış bir şekilde yazılabilmektedir.
  • Hücre isimleri %% cell name komutu ile yazılabilmektedir.
  • unable cell mode komutu ile cell modu devre dışı bırakılabilmektedir.
  • clc komutu komut penceresini temizler ve beyaz bir sayfa oluşturmaktadır.
  • clear komutu ile kayıtlı tüm değişkenler silinebilmektedir.
  • clc komutu ile komut penceresi temizlendikten sonra whos komutu ile temizlenen değişkenler komut penceresinde tekrardan kullanıcıya gösterilebilmektedir. Eğer clear komutu ile kayıtlı tüm değişkenler silinmiş ise whos komutu ile değişkenler tekrar gösterilemez.

Yorum bölümünden tüm sorularınızı bana iletebilirsiniz.

Çalışmalarınızda başarılar dilerim.

Hamit Can Dinç.

Share

Hamit Can Dinç

Yıldız Teknik Üniversitesinde Elektrik Mühendisliği öğrencisi. Araştırma ve geliştirme odaklı projelerde yer almayı sever.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir