EKRAN ÇIKTISI
break DEYİMİ EKRAN ÇIKTISI ??? for i=1:10 if i==4 break; end for veya while döngülerinde program akışını kontrol edebilmenin bir yolu break deyimini kullanmaktır. break deyimini döngü gövdesi içerisinde kullanmak, döngünün aniden sonlandırılmasını ve döngüden sonra gelen ilk ifade veya komutun işletilmesini sağlar. for i=1:10 if i==4 break; end fprintf('i=%d\n', i); EKRAN ÇIKTISI ???
continue DEYİMİ EKRAN ÇIKTISI ??? for i=1:10 if i==4 continue; end Genellikle for döngülerinde, program akışı ayrıca continue deyimi ile kontrol edilebilir. continue deyimi işletildiğinde continue deyiminden sonraki bütün herşey ihmal edilir ve döngü değişkeni güncellenerek döngü bir sonraki iterasyona başlar. for i=1:10 if i==4 continue; end fprintf('i=%d\n', i); EKRAN ÇIKTISI ???
İç İçe for Döngüleri EKRAN ÇIKTISI ??? Bu MATLAB deyimi kaç kere işletilir? İç İçe for Döngüleri Bu MATLAB deyimi kaç kere işletilir? toplam=0; deyimi dıştaki for döngüsünün bir üst satırına taşınsaydı nasıl bir ekran çıktısı elde edilirdi? for i=1:5 toplam=0; for j=1:5 toplam=toplam+j; end disp(toplam*i); Bu MATLAB deyimi kaç kere işletilir? EKRAN ÇIKTISI ??? 5 yerine i kullanılsaydı nasıl bir ekran çıktısı elde edilirdi?
UYGULAMA Çarpım tablosunu ekrana basacak bir MATLAB düzyazı m-programı yazınız. Bu MATLAB deyimi kaç kere işletilir? for i=1:10 for j=1:10 carpim=i*j; fprintf('%d*%d=%d\n', i, j, carpim); end disp('-----------------------'); Bu deyim yerine break deyimi kullanılırsa ne olur? Bu MATLAB deyimi kaç kere işletilir?
FONKSİYONLAR Fonksiyonlar da bilgisayar programlarıdır. Bilgisayarlar yardımıyla çözülmeye çalışılan problemler fonksiyonlar sayesinde yönetilmesi daha kolay, küçük parçacıklara bölünürler. Bu metoda “Böl ve Yönet” ya da “Divide and Conquer” adı verilir. Her fonksiyon: Kendine özgü bir isme sahiptir. GENELLİKLE kendine, üzerinde işlem yapacağı bir argüman (parametre) ya da argümanlar (parametreler) alır. GENELLİKLE geriye bir değer döndürür. (skaler, vektör ya da matris.)
FONKSİYON M-DOSYALARI Bir fonksiyon m-dosyasının iki bileşeni vardır: 1 – Fonksiyonun imzası veya prototipi (İlk satırda tanımlanır.) 2 – Fonksiyonun tanımı (yapması gereken iş) (İkinci satırdan başlar ve devam eder.)
FONKSİYON İMZASI VEYA PROTOTİPİ function cikisParametresi = FonksiyonAdi (girisParametreleri 1, 2, …n) function [cikisParametreleri 1, 2,…, n] = FonksiyonAdi (girisParametreleri 1, 2, …n) function cikisParametresi = FonksiyonAdi ( ) function cikisParametresi = FonksiyonAdi function FonksiyonAdi (girisParametreleri 1, 2, …n) Fonksiyon m-dosyalarının ilk satırı MUHAKKAK yukarıda tanımladığımız gibi fonksiyonların imzası veya prototipi dediğimiz satırlardan oluşmalıdır. Bir fonksiyonu yazmaya başlamadan önce onun imzası hakkında iyice düşünmeliyiz. (Giriş parametresi(leri) almalı mı, geriye bir değer döndürmeli mi?)
Fonksiyon M-Dosyaları Oluşturulurken Dikkat Edilmesi Gereken Hususlar: 1 - Her MATLAB fonksiyonu function anahtar kelimesi ile başlamalıdır. 2 - FonksiyonAdi m-dosyasına verilen isimle aynı olmalıdır. 3 - Bir MATLAB fonksiyonu komut penceresinden fonksiyon adı ve varsa eğer parantez içerisinde birbirlerinden virgüllerle ayrılmış parametrelerle çağrılmalıdır. 4 - Parametre aktarımı olması durumunda alt ve ana programda eşit sayıda giriş parametresi olmalıdır.
>> Uzaklik(3,4,1,2) %sonuç ans adlı değişkene atanır Uygulama: İki nokta arasındaki uzaklığı bulan programı m-fonksiyon kullanarak yazınız. x1 = 1. noktanın x koordinati; x2 = 2. noktanın x koordinati y1 = 1. noktanın y koordinati; y2 = 2. noktanın y koordinati Uzaklik.m function mesafe = Uzaklik(x1,y1,x2,y2) %İmza mesafe=sqrt((x2-x1)^2+(y2-y1)^2); %Tanım KOMUT PENCERESİ >> sonuc=Uzaklik(3,4,1,2) %veya >> Uzaklik(3,4,1,2) %sonuç ans adlı değişkene atanır
BİR ÖNCEKİ ÖRNEĞİN DÜZYAZI M-DOSYASI İLE ÇÖZÜMÜ Uzaklik.m x1=input(' x1 koordinatını gir: '); y1=input(' y1 koordinatını gir: '); x2=input(' x2 koordinatını gir: '); y2=input(' y2 koordinatını gir: '); mesafe=sqrt((x2-x1)^2+(y2-y1)^2); fprintf(' Girilen 2 nokta arası mesafe: %f \n ',mesafe); KOMUT PENCERESİ >>Uzaklik
!!! ÖNEMLİ !!! Fonksiyon m-dosyalarının imza satırlarında yer alan fonksiyon adları Paskal notasyonu ile tanımlanır. Aynı şekilde fonksiyon m-dosyalarına verilen isimler için de düzyazı m-dosyalarına verilen isimler de olduğu gibi Paskal Notasyonu kullanılır. Fonksiyon m-dosyalarının imza satırlarındaki giriş ve çıkış parametrelerini ifade etmek amacıyla kullanılan değişkenler deve notasyonuyla tanımlanırlar. Fonksiyon m-dosyaları içerisinde input komutu kullanılarak kullanıcıdan bilgi ALINMAZ. Fonksiyon içerisinde değerlendirilecek bilgi programa parametre olarak aktarılır. Fonksiyon m-dosyaları program yazma editörü içerisindeki run butonu tıklanarak ÇALIŞTIRILMAZLAR. Komut penceresinden parametre(ler) girilerek çalıştırılırlar.