MATLAP DERSİ
Matlab Ders Notları
MATLAB’ de
Programlama
Doç. Dr. İrfan KAYMAZ
Kontrol Yapıları
Döngü Yapıları Matlab Ders Notları
if Şartının Üç şekli vardır
if Şart
1. işlem;
2. işlem;
3. işlem;
end
Bir mantıksal ifadeyi kontrol ederek bunun sonucuna göre mümkün seçeneklerden birini icra
edebilen bir komuttur.
if Şartlı deyimi:
if Şart
1.işlem;
Else
2. işlem;
end
if Şart
1.işlem;
Elseif Şart
2.işlem;
else
3.işlem;
end
1 2
3 Matlab Ders Notları
Örnek: Girilen iki sayının oranını bulan ve paydaya sıfır girildiğinde
ekrana “üzgünüm sıfıra bölüm hatası var” mesajı yazdıran program
clc
N = input(‘payı giriniz: ');
D = input(‘paydayı giriniz: ');
if D==0
Disp(‘üzgünüm, sıfıra bölüm hatası var‘)
else
oran = N/D
end
payda
pay
oran
Disp komutu: Ekrana her hangi bir mesajı yazdırmak için kullanılan komuttur.
Disp(‘yazdırılacak mesaj’); Matlab Ders Notları
NOT: Yukarıdaki soruda ay değeri 12’nin üzerinde bir değer girildiği zaman da ‘Bu ay 30
günden oluşur’ mesajı ekrana gelmektedir. Bunun yerine ekrana ‘yanlış değer girdiniz’ mesajı
nasıl yazdırırsınız?
Örnek: Ayların gün sayısını bulan bir program yazınız.
if ay==1 | ay==3 | ay ==5 | ay==7 | ay==10 | ay==12
disp(‘Bu Ay 31 günden oluşur‘)
else
if ay==2
disp(' Bu Ay 28 günden oluşur‘)
else
disp(' Bu Ay 30 günden oluşur‘)
end
end
clc
ay = input(‘Kaçınçı ayın gün sayısını öğrenmek istiyorsunuz (1-12)= ' ); Matlab Ders Notları
Switch (durum)
case (durum1)
işlemler
case (durum2)
işlemler
.
.
otherwise ►isteğe bağlı
end
SWITCH ŞART DEYİMİ
Belli durumlar için sadece belirli ifadelerin bulunduğu blokların işletilmesi istendiği
durumlarda kullanılır. İşletilecek durumlar değişkenin alacağı değere göre belirlenir.
Switch komutunun genel kullanımı: Matlab Ders Notları
sayi=input(‘1 ile 10 arasında bir sayı giriniz:’);
switch (sayi)
case {1,3,5,7,9}
disp(‘Bu sayı Tektir’)
case {2,4,6,8,10}
disp(‘Bu sayı Çifttir’)
otherwise
disp(‘Sayı 1 ile 10 aralığının dışındadır’)
end
Örnek: 1 ile 10 arasında girilen sayıların tek ya da çift
olduğunu ekrana yazdıran programı yazınız Matlab Ders Notları
Girilen ay numarasına göre, o ayın gün sayısını veren programı
switch komutu kullanarak yazınız.
Uygulama : Matlab Ders Notları
FOR DÖNGÜSÜ
Bir çok uygulamada belirli işlemlerin tekrar tekrar gerçekleştirilmesi gerekir.
Programlamada bu işlemler grubunu çok sayıda tekrar etmek imkanı sağlayan
yapılara ÇEVRİM, DÖNGÜ veya LOOP denir.
Çevrimdeki işlem sayısını önceden belirleyerek ve bu sayıya ulaşıp
ulaşmadığını bir sayaç ile denetleyerek gerçekleştirilen çevrim
yapıları
Çevrimin sona ermesini bir koşula bağlı olarak kontrol eden çevrim
yapıları
►Çevrim, bir tekrarlı işlem yapısıdır. Matlab Ders Notları
for döngü değişkeni = başlangıç : bitiş
komutlar
….
end
for döngüsünün genel yapısı
clc
toplam = 0 ;
for x = 1:20
toplam = toplam + x ;
end
toplam
Örnek: 1’den 20’ye kadar sayıların toplamını bulan program Matlab Ders Notları
clc
sayi=input(‘lütfen bir sayı giriniz=’)
toplam=0 ;
carpim=1 ;
for i=1:sayi
toplam=toplam+i ;
carpim=carpim*i ;
end
toplam
carpim
Örnek: Ekrandan girilen bir sayıya kadar olan sayıların
toplamını ve çarpımını bulan program Matlab Ders Notları
Genel kullanımı:
fprintf (‘Ekrana yazdırılacak açıklama %f \n’, deger)
Burada
%f : Değerin reel sayı olduğunu gösterir
\n : Bir satır atlatır
deger : Ekrana yazılması istenen sayısal değişkenin adı
Diğer yazım biçimleri:
%g : Tamsayı değeri basar
%e : Üstel değer basar
Fprintf komutu
Ekrana bilgi yada sayısal bir değeri beli bir düzende yazdırmak için kullanılan
komuttur. Bu komut vasıtasıyla bir veya birden fazla bilgi ekranda görüntülenir. Matlab Ders Notları
Örnek: Aşağıda verilen çıktıyı ekrana yazdıracak bir
program yazınız.
Sıra Takım
---------------------
1. Fenerbahçe
2. Fenerbahçe
3. Fenerbahçe
4. Fenerbahçe
5. Fenerbahçe
fprintf(‘Sıra Takım\n')
fprintf('-------------------\n')
for i=1:5
fprintf('%i. Fenerbahçe\n',i)
end
Uygulama :
Ekrana 1’den 10 kadar sayıları ve karelerini ekrana yazdıran bir program
yazınız. Matlab Ders Notları
Önceden belirlenmiş belli bir durum gerçekleşinceye kadar
gerekli sayıda tekrar yapan döngüdür.
Genel Kullanımı:
while durum
1.ifade
2.ifade
n.ifade
end
while Döngüsü Matlab Ders Notları
a=5;
toplam=0
while a<10
a=a+1
toplam=toplam+a
end
Ekrana adınızı ve soyadınızı 10 kez yazan bir programı WHILE döngüsü
kullanarak yazınız
Örnek: 5’den 10’a kadar olan sayıların toplamını bulan bir
program yazınız.
Uygulama : Matlab Ders Notları
A=input(‘A katsayısını giriniz..: ’);
while A=0
A=input(‘A katsayısını giriniz..: ’);
end
B=input(‘B katsayısını giriniz..: ’);
x=-B/A;
fprintf(‘%d \n’,x)
=
e
h
Örnek: Ax+b=0 şeklinde verilen 1. derece denklemin
çözümünü veren programı aşağıda verilen akış
diyagramından yararlanarak MATLAB’de programlayınız. Matlab Ders Notları
a=10 ve b=7 olarak veriliyor. Bu sayıların toplamı 52325’den büyük olana kadar
sayılardan birisi iki katına katlanıyor. Kaç kez katlandığını ekrana yazan
programı kodlayınız.
Uygulama : Matlab Ders Notları
FOR ve WHILE döngülerine ilaveten bir program akışını kontrol edebilmenin diğer
bir yolu break ifadesini kullanmaktır. Break ifadesini döngü gövdesi içerisinde
kullanmak, döngünün durmasını ve döngüden sonra gelen ilk ifade veya komutun
işletilmesini sağlar.
Örnek: for j=2:6
if j==4
break
end
end
fprintf(‘j= %g \n”, j)
disp(‘döngü sonlandırıldı’)
break ifadesi Matlab Ders Notları
clear
toplam=0
for i = 1:5
toplam = 0
for j = 1:5
toplam = toplam + j
end
Carpım = toplam * i
end
İç içe FOR döngüleri Matlab Ders Notları
for a=1:10
for b=1:10
carpim=a*b;
fprintf(‘%d * %d = %d\n’, a, b, carpim)
end
end
Örnek: Çarpım tablosunu veren bir program yazınız. Matlab Ders Notları
i=7;
while i>5
x=input(‘x değerini giriniz=‘);
if x<=0
break
end
while x>1
if mod(x,2)==0
x=x/2;
else
x=3*x+1;
end
end
i=i-2;
end
fprintf(‘Bravo, programı sonuçlandırdınız:%g’, x)
İç içe while döngüleri