Skip to main content

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 Sunum Hazırlamak

Latex'i kullanarak projeksiyon cihazlarında sunulmaya yönelik çok güzel sunumlar hazırlamak mümkün olmaktadır. Oluşturulan dosya PDF olduğundan ve her işletim sisteminde (linux, mac os, unix, windows vs.) en azından bir tane PDF okuyucu program olduğundan, hazırlanan sunumların taşınabilirliği de azami seviyede olmaktadır. Tabi ki latex'in en üstün olduğu nokta olan mükemmel fontlar ve matematiksel denklem yazılımları latex'te hazırlanan sunumlar için de geçerli olmaktadır. Aşağıdaki linklerden indireceğiniz pakette örnek sunuma ait gerekli dosyaları bulabilirsiniz. Daha ayrıntılı bilgi almak isterseniz bana ulaşabilirsiniz.
Link : DROPBOX

Hazırladığım örnek sunumun slaytları şu şekilde:





















Ubuntu'da Chrome'un Açılıştaki Profil Uyarısı Nasıl Çözülebilir

Bir süredir Chrome u her açtığımda bu uyarı penceresi karşıma çıkmaya başlamıştı. Pencerede şu yazıyor:
Profiliniz doğru açılamıyor.
Bazı özellikler kullanılamayabilir. Lütfen profilin bulunduğundan ve içeriğini okuma ve yazma izniniz olduğundan emin olun.
Bu problemi çözmek için aşağıdaki işlemi uyguladım ve problem halloldu. Tabi ki bunu yapmak ya da yapmamak sizin tercihiniz, /home/ içinde olduğunuzu varsayarak:
mv .config/google-chrome/Default/Web\ Data .config/google-chrome/Default/Web\ Data.BCKP
İlgili klasördeki ilgili dosyayı farklı isimde kaydettim. Hem olası bir problemde geri dönmemi de sağlayacak bir komut bu.Bu işlemden sonra chrome u yeniden başlatıyoruz ve Voila! Problem gitmiş oluyor.  Chrome ilgili klasörde yeni bir Web Data dosyası oluşturuyor.
mv .config/google-chrome/Default/Web\ Data.BCKP .config/google-chrome/Default/Web\ Data
Komutu şeklinde yeniden çalıştırdığınızda dosya geri yükleniyor ve chrome eski problemli haline dönüyor.