Matlab Programlama 3 Matlab'da Değişkenler

Merhabalar herkese. Yeni bir Matlab dersi ile beraberiz. Geçen dersimizde çalışma ortamı olan Command Window u tanıtmıştım ve pek çok ipucu vermiştim. Bu yazımın konusu ise Matlab da değişken tanımlama olacak.

O zaman Bismillah diyelim ve başlayalım.

Değişken tanımlama bildiğimiz gibi her programlama dilinin bel kemiği konumundadır. Basit bir konu olmasının yanında programlamanın temelini oluşturduğu için çokta ehemmiyetlidir. Programlama değişken tanımlamanın üzerine belkide ilerler gider.

Değişken tanımlamanın önemi ile ilgilide kısa bir dip not söyliyim ne kadar önemli olduğunu bir de böyle görelim isterseniz.


Ariane 5 Roketi değişken tanımlama hatası yüzünden bir tür dönüşümü sırasında bir matematiksel yanlışlığa neden olmuş ve roket bu hata yüzünden patlamıştır. Dahada üzerine bir şey söylememe gerek yok sanırsam.


Şimdi isterseniz gelelim Matlab de değişken tanımlama ve değişkenleri kullanmaya.

Farklı programlama dilleri ile çalışan arkadaşlar bilirler değişkenleri tanımlarken içinde hangi tip veriyi saklayacağını biliyorsak o türde değişken tanımlaması yapardık. Aslında bu sistemle programların daha hızlı çalışması amaçlanmıştır. Ama Matlab da böyle bir ayrım gözetilmemiştir.

Değişken tanımlama yöntemlerini anlatmadan önce değişken tanımlama kurallarına bakalım.

1. Değişken tanımlarken ilk karakterimiz kesinlikle bir harf olmalıdır. Bunu takiben bir rakam, harf ve altçizgi kullanılabilir. Bunların dışında kullanılan karakterler ile tanımlanan değişken programın hata vermesine neden olacaktır.

2. Matlab da bir değişkenin uzunluğu en fazla 63 karakter olabilir.

3. En önemli özelliğimiz belki de bu. Türkçe karakterler kullanarak değişken yazamayız. Genelde biz buna dikkat etmeyiz, program yazarken gayri ihtiyari unuturuz ve program hata verir sonrasında da değişken ismini okusak bile bize normal geldiğinden hatanın onda olacağı fikri ilk bakışta problem çözümünde aklımıza gelmez. O yüzden en çok buna dikkat etmeliyiz.

4. Matlab küçük ve büyük harfe duyarlıdır. Yani x ile X değişkenleri farklı değişkenlerdir.

Şimdi gelelim değişken tanımlama yöntemlerine.

Matlab da üç tür değişken tanımlama yöntemi vardır. Birincisi string, ikincisi sayısal  üçüncüsü ise boolean türü tanımlamadır.

Sayısal(skaler) tanımlamada hiç bir problem yoktur. Ne tür bir sayısal ifade tanımlamak istersek isteyelim değişken ismini yazar ve bu değişkene değer ataması yaparız.

Matlab de unutmamız gereken en önemli şeylerden biride belkide her şeyin matris mantığıyla yapıldığıdır. Çoğumuza lisede gördüğümüzde saçma gelen belkide o konu Matlab ın kalbidir.

Yani x=5 şeklinde tek değerli bir skaler bile tanımlamış olsak bu aslında 1*1 lik bir matrisi ifade etmektedir.

İsterseniz gelin bunu bir görelim.

x=5 diyelim enter a basalım daha sonrada değişkenlerimizin değerlerinin kayıtlarının tutulduğu Wokspace bölümünde x değişkenin üzerine çift tıklayalım.



Gördüğümüz gibi x değişkeni için bir matris oluşturulmuştur. Bu açılan alandan direkt olarak değişkene değer ataması yapabiliriz. Ama matrisler konusu daha ileri ki bir konumuz olduğu için şimdilik buna girmiyorum.

Biz şimdi sayısal değer tanımlama işlemlerimize biraz daha yakından bakalım.

Az öncede dediğim gibi değişken türleri için bir kısıt getirilmemiştir Matlab da.

x=5 veya y=5/10 veya z=5.2 yada bir karmaşık sayı bile tanımlayabiliriz. t=4+5*i şeklinde.

 Aslında Matlab programlama işine kadar giriştiğimize göre algortimayı halletmiş olmamız gerek ve algoritma çalışırken bunu görmüş olmalıyız ama hatırlatma anlamında ben bir kere daha bahsedeyim.

Programlama dilinde = işareti bir değişkene bir değer eşitleme işlemi yapmaz. Bu işaret bir değişkene değer atama işlemidir. 

Programlama dilinde bir değişkene bir değerin eşitliğinden bahsediyorsak == ifadesini kullanmamız gerekir.

Bu bilgiyi de hatırlattığımıza göre bir de string yani metinsel ifade tanımlamayı görelim.

O da şöyle olacaktır.

isim='Murat Bilginer NCFKR'  şeklinde iki tane tek tırnak arasına yazılır.

Bir diğer değişken tanımalamız ise boolean dı. Yani geriye true yada false değeri döndüren değişkenlerimiz.

Matlab da true yada false ile işlem yapmamız gereken yerlerde true yada false olacak değerin yerine sadece sayısal bir ifade olarak 0 yazarsak bu false olarak algılanır. Diğer türlü yazacağımız her türlü sayısal ifade true olarak algılanacaktır.

Şimdi yazacağım kodlara pek takılmayalım ilerde daha detaylı anlatacağım. Ama ne demek istediğimin daha net anlaşılması açısından bu kodları veriyorum.

if  9
x=5*6;

else
5*9;
end

x;



şeklindeki bir ifade de if 9 ifadesi sayısal değer sıfırdan farklı olduğu için true olarak algılanacaktır. x=5*6 işlemi yapılacak ve x in değeri 30 olarak ekrana yansıyacaktır.

if  0
x=5*6;
else
x=5*9;
end

x;

Bu işlem sonun ise if 0 değeri false olduğu için else ifadesi altındaki işlem çalışacak ve x in değeri 45 olacaktır.

Şimdi anlatımımızı bu şekilde yaptıktan sonra dilerseniz ilk olarak sayısal değişkenlerle ilgili işlemleri birde Command Window da deneyerek görelim.



1. işlem normal bildiğimiz bir değişkene sayısal bir değer atama işlemi.

Ama burada dikkatinizi çekmek istediğim nokta şurası olacak. 2. adıma bakarsak, biz bir değişkenin değerinin ekranda ilk işlemde olduğu gibi görünmesini istemiyorsak yazdığımız kodu noktalı virgül ile bitiririz 2. işlemde yaptığım gibi.

3. işleme bakarsak z değerine 5.4 değerini atadık ve çıktı olarak ekranda 5.4000 gördük. Matlab standart formunda virgülden sonra 4 basamak yazar. Ama ileriki derslerde göreceğiz bu formatı istediğimiz gibi değiştirebilmekteyiz.

4. İşlem ise bir bölme işlemi bu bildiğimiz / işareti ile yapılmış bir bölme işlemidir. 5 i 4 e böler sonucu ekrana yazar.

5. adıma baktığımızda ise \ işareti ile yapılmış bir bölme işlemidir ve sağdan sola bölme yap anlamındadır. Yani bu ifade 4 ü 5 e böler arkadaşlar.


Değişken tanımlama işleminde karmaşık sayı bile tanımlayabileceğimizi söylemiştik 6. işlemde bunu yaptık.

7. işlemden de bahsedip önemli bir not düşelim yazımıza.

7. işlemde ise sadece pi yazdım ve enter a bastığımda ekran da bildiğimiz pi değerinin yazıldığını gördük.

Buradan bir şey anlıyoruz aslında bizler matematikte özel ifadelere denk gelen tanımlara kendimiz bir değer atamadan çağırırsak burada göreceğimiz değer matematikte özel olarak ne anlama geliyorsa matlab mühendislerinin bu sabit değişkene atamış olduğu değeri ekranda görürüz.

6. işleme geri dönecek olursak i değişkeni matematikte karmaşık sayıları ifade ettiği için ve ben daha öncesinde i ye bir değer atamadığım için karmaşık sayı versiyonunda yazdı değeri.

Eğer ben daha öncesinde i ye mesela 2 değerini verseydim birde sonucu öyle görelim.


Gördüğümüz gibi bize sonuç olarak 13 değerini döndürdü.

Aynı zamanda j değişkeni de karmaşık sayı değişkeni olarak algılanmaktadır.


9. adıma bakarsak diyelimki karmaşık sayı olan i ve j değişkenlerine bir değer ataması yaptık eee bundan sonra artık ben Matlab programında karmaşık sayı tanımlayamayacak mıyım? 

Tabiki tanımlayabileceğiz ama öncesinde yapmamız gereken bir işlem var o da şudur.



Tik işareti koyduğum kod tekrar i veya j yi karmaşık sayı değişkeni haline getirdiğim adımdır.

Son olarak da string tanımlamayı görüp dersin sonuna gelelim.



Böylelikle bu dersimizin de sonuna geldik. Uzun ama faydalı bir ders anlatımı oldu diye ümit ediyorum. Çalışan tüm arkadaşlarıma kolaylıklar dilerim. Vesselam.

Murat Bilginer



Yorumlar