Matlab’de Fonksiyon Yazmak Bize Ne Kazandıracak ?
Matlab’de bir çalışma yaptığınızı varsayın ve bir methodu sürekli kullanmanız gerekiyor. Ör: Girilen X değerinin tek mi çift mi olduğunu belirlemek. Her seferinde X’in tek mi çift mi olduğunu hesaplayan kodu yazmak mı daha iyi yoksa bu fonksiyonu bir kere yazıp her seferinde fonksiyonu kullanmak mı ?
Matlab‘de fonksiyon yazmadan önce fonksiyon kodumuzun yapısını inceleyelim;
function[sonuc] = fonksiyon_adi(degiskenler)
- sonuc : fonksiyonda sonucu hangi değere atayacaksak o değerin ismini yazıyoruz. Ör: A ile B isminde iki değerimin toplamını verecek bir fonksiyon yazdığım zaman
sonuc
kısmınatoplam
yazabiliriz. - fonksiyon_adi : fonksiyonu kullanmamız için gereken ismidir: Ör: Girilen A değerinin karesini alan bir fonksiyon yazdığımız zaman
fonksiyon_adi
kısmınakaresini_al
yazabiliriz. - degiskenler : Bu alana istediğiniz kadar değişken yazdırabilirsiniz.
- Ör1 : Girilen iki sayının toplamını hesaplayacaksanız
A,B
yazabilirsiniz. - Ör2 : Koordinatlar girilen 2 noktanın arasındaki mesafeyi hesaplayacaksanız
X1, X2, Y1, Y2
yazabilirsiniz.
- Ör1 : Girilen iki sayının toplamını hesaplayacaksanız
- NOT : Bu değerleri yazarken TÜRKÇE KARAKTER kullanmayınız!
- NOT : Bu fonksiyonu kaydederken çalışmış olduğunuz klasörün içine
fonksiyon_adi.m
şeklinde kaydetmeniz gerekir. Aksi halde fonksiyon çalışmayacaktır.
Matlab’de fonksiyon yapısını anladığımıza göre bir kaç örnek üzerinden gidebiliriz.
Örnek 1
function[matris] = topla_m(A,B) if size(A)==size(B) matris=A+B; disp(matris) else disp('Bu Matrisler Toplanmaz!') end
Bu Fonksiyon İle Ne Yapıyoruz ?
- A ve B matris değerlerini çektik,
size
fonksiyonu ile bu iki matrisin boyutlarını çekipİf - Else
methodu ile kıyasladık,- A’nın ebatı B’nin ebatına eşit ise bu iki matrisi topladık değilse ekrana
Bu Matrisler Toplanmaz!
yazdırdık. topla_m.m
olarak kaydediyoruz!
Örnek 2
function[mesafe] = uzunluk(X1,Y1,X2,Y2) mesafe=sqrt((X2-X1)^2+(Y2-Y1)^2); disp(mesafe)
Bu Fonksiyon İle Ne Yapıyoruz ?
- İki noktanında
X1, Y1, X2, Y2
değerlerini sırayla girerek koordinatları çektik, - X‘lerin farklarının karesi ile Y‘lerin farklarının karesini topladık,
sqrt
fonksiyonu ile bu toplamın kare kökünü alarakmesafe
değişkenine atadık,disp
fonksiyonu ile bu mesafe değerini ekrana yazdırdık.uzunluk.m
olarak kaydediyoruz!
Matlab’de Fonksiyon Yazımı başlıklı makalem umarım yardımcı olmuştur.
Sevgiler.
Bir önceki yazımız olan Matlab'de Algoritma Şeması başlıklı makalemizi de okumanızı öneririz.