Matlab/Örnek Program

Vikikitap, özgür kütüphane

<<Giriş      Genel Bilgiler>>


Matlab'ı ilk açtığınızda çıkan pencereye Command Window denmektedir. Burada temel işlemler gerçekleştirilir. Ama amacınız program yazmaksa (bunlara Matlab'da m-file denmektedir.) bunu script editorde yazmalısınız. Hemen bir örnekle başlayalım...

Öncelikle command window'dan bir m-file açalım

karşınıza script editor çıkacaktır

Mesela buraya girilen değerler arasındaki sinüs fonksiyonunu veren ve çizdiren bir fonksiyon yazmak istiyoruz. Fonksiyon yazmak için öncelikle programın girdilerini ve çıktılarını tanımlamalıyız. Mesela programımızın ismi sinus_çiz olsun, o zaman

 function y = sinus_ciz(altsinır,ustsinir)

olarak başlamalıyız (Türkçe karakterler genelde Matlab tarafından tanınamıyor). Burada function yazılması bu m-file'ın sadece kendi içindeki değişkenleri kullanacağı anlamına gelir. Eğer command window'da daha önce bir tanımlanmış bir değişken varsa bu function'ın içinde doğrudan kullanamazsınız. function'dan sonra çıktıları tanımlamalısınız. Burada biz çıktıyı y olarak tanımladık. Eğer çıktınız birden fazla ise, mesela y1 ve y2, o zaman şöyle yazmalıydınız

 
 function [y1,y2] = sinus_ciz(altsinir,ustsinir)

Çıktı tanımlamasından sonra fonksiyonun adını girmelisiniz.(fonksiyon ismi rakamla veya özel karakterlerle başlamamalı!!). Daha sonra iki parantez arasına girdilerin isimlerini tanımlamalısınız. Biz burada iki girdi kullanacağız, altsinir ve ustsinir. Bu ikisini virgülle ayırıp parantezlerin içine yazıyoruz. Böylece fonksiyonun yapısını tanımlamış olduk. Matlab her sayısal programda olduğu gibi verileri diziler halinde tutar. Fakat Matlab'da bunlar artık vektör ve matris şeklini almaktadır. Amacımıza uygun olarak programımızda vektör kullanmalıyız. Yani üstsınır ve altsınır arasında değişen bir vektör tanımlamalıyız. Öncelikle basit olarak matlabda bir vektörü gösterelim. Mesela 1'den 100'e kadar olan tam sayılardan oluşan a diye bir vektör tanımlayalım

 a=1:1:100;

Yani yapı şöyledir; başlangıç sayısı, iki nokta üstüste, basamak değeri, iki nokta üstüste, bitiş sayısı. Burada noktalı virgül satırın bitimini gösterir. Eğer kullanmazsanız vektörün değerleri Command Window'da gösterilir. Amacımıza uygun olarak altsinir ve ustsinir arasında v diye bir vektör tanımlayalım

 v = altsinir:(ustsinır-altsinir)/100:ustsinir;

burada basamak değeri aralığın yüzde biri olarak tanımlanmıştır. Matlabın en önemli ve faydalı özelliklerinden biri vektörler üzerinde paralel işlem yapabilmesidir. Yani yukarıda tanımladığımız vektörün içindeki değerlerin sinüsünü almak için herhangi bir döngü kurmamıza gerek yoktur. Basitçe

 y = sin(v);

yazarak v içindeki değerlerin sinüsünü y gibi bir vektöre atayabilirsiniz. Toparlarsak aşağıdaki fonksiyon

 function y = sinus_ciz(altsinir,ustsinir)
 v=altsinir:(ustsinir-altsinir)/100:ustsinir;
 y=sin(v);

girilen değerler arasında sinüs fonksiyonunu bir vektör çıktısı olarak vermektedir. Yukardaki kodu script editorde yazdığımızı ve sinus_ciz olarak kaydettiğimizi düşünelim.

Command windowa geçip

 sinus_ciz(0,2*pi)

yazarsanız Matlab size ile arasındaki açıların sinüsünü vercektir. Bu arada Matlabın açıları radyan cinsinden kabul ettiğini belirtelim. Eğer görsel açıdan değerleri görmek istiyorsanız Plot fonksiyonundan yararlanabilirsiniz. Kodu tekrar yazacak olursak

 function y = sinus_ciz(altsinir,ustsinir)
 v=altsinir:(ustsinir-altsinir)/100:ustsinir;
 y=sin(v);
 plot(y);

Bu kodu kaydedip, Command Window'da sinus_ciz(0,2*pi); yazarsak karşımıza şu ekran çıkar.

<<Giriş      Genel Bilgiler>>