Matlab'da Fonksiyon Oluşturma ve Fonksiyonların Kullanımı

Matlab'da sık kullanılan özelliklerden biri de fonksiyon tanımlamadır. Oldukça basit olan bu yöntem, iç içe 4-5 program yazanlar veya m-file'ları arka arkaya çalıştıranlar için işi tek bir m-file içinde bitirmeye yarar. Bir örnekle anlatalım. Diyelim ki elimizde x ve y gibi 2 adet uzun vektör var, biz bu vektörlerin içindeki en büyük 3 değeri a ve b gibi 2 vektörün içine atmak istiyoruz. Fakat bunu ana programımızın içinde değil de, klasik deyimle bir "subroutine" oluşturarak yapmak istiyoruz. Öncelikli işimiz vektörün değerlerini büyükten küçüğe sıralayıp ilk 3 değeri alan programı yazıp, bunu bir fonksiyon olarak tanımlamak. Dikkat edilmesi gereken fonksiyonun ismi ile m-file'ın isminin aynı olması, örneğin benim m-file'ımın ismi "sırala.m".
  
function [a,b]=sırala(x,y)
dum1=sort(x,'descend')
a=dum1(1:3)
dum2=sort(y,'descend')
b=dum2(1:3)

Gördüğünüz gibi "sırala" isimli fonksiyonumuzun inputları (x,y) ikilisi, fonksiyonun outputları ise (a,b) ikilisi, bunu kodun en başında belirtmemiz şart. Eğer sizin fonksiyonunuzdaki output sadece 1 tane olacaksa en üstteki kod satırını, "function a=sırala(x,y)" şeklinde yapmanız yeterli olacaktır. Şu anda fonksiyonumuzu yazmış olduk, gelelim bunu ana programımızın içinde nasıl kullanacağımıza. O da aşağıda göründüğü gibi.

.
.
[a,b]=sırala(x,y);
.

Ana programımızda sırası geldiğinde yukarıdaki kod satırını girmemiz yeterli olacaktır. Halihazırda elimizde olan x ve y vektörlerinden, a ve b vektörlerine tek satırda geçiş yapmış olduk. Programlarımızı yazarken bu şekilde fonksiyonlardan yararlanırsak, hem debugging kolay olur hem de alt alta yüzlerce satır gitmemiş oluruz.

Comments

Popular posts from this blog

Latex'te Denklem İçerisine Ufak Boşluklar Koymak

LaTeX'te Sunum Hazırlamak

Octave'da Grafik Çizdirme