Upload
nubia
View
57
Download
1
Embed Size (px)
DESCRIPTION
M ATLAB ’ de P rogramlama. Makine Müh. & Jeoloji Müh. 2012-13/ Bahar. Matlab Ders Notları. K ontrol y apıları. 1) Karşılaştırma (Compare). IF - ElseIf -Else- End. S WITCH -Case- Otherwise - End. While - End. 2) Döngü (Loop). For - End. MATLAB Ders Notları. if Şartlı deyimi. - PowerPoint PPT Presentation
Citation preview
Matlab Ders Notları
MATLAB’ de
Programlama
Makine Müh. & Jeoloji Müh.
2012-13/ Bahar
MATLAB Ders Notları
WhileWhile - End
Kontrol
yapıları
IFIF-ElseIf-Else-End SSWITCHWITCH-Case-Otherwise-End
ForFor - End
1) Karşılaştırma (Compare)
2) Döngü (Loop)
MATLAB Ders Notları
IF IF Şartının Üç şekli Şartının Üç şekli vardırvardır
1.Tek 1.Tek KoşulluKoşullu
IF Şart 1. işlem
2. işlem3. 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
2.İki Koşullu2.İki Koşullu
IF Şart 1.işlem;ELSE 2. işlem END
3.Çok Koşullu3.Çok Koşullu
IF Şart…ELSEIF … …ELSE …END
Matlabda Koşul Deyimleri
if koşul ifadesi
deyim
end;
a = input('bir a degeri giriniz');
if a < 50
sonuc = a * 5;
end
fprintf('carpim %d \n',sonuc);
1) Tek koşullu : Karşılaştırmalı denetim deyimlerinden en sade olanıdır. Eğer denetim ifadesi doğruysa deyim işletilir. Denetim ifadesi yanlışsa program deyimi atlar.
Matlabda Koşul Deyimleri
İf koşul ifadesi deyim
else deyim
end a = input('bir a degeri giriniz='); if (a < 50) sonuc = a * 5; elseif (a == 50) sonuc = a / 5; else sonuc = 0; end fprintf('islem sonucu = %d \n',sonuc);
2) İki koşullu : Bazen if ifadesindeki koşula bağlı olarak koşul doğru ise bir deyimin yanlış ise bir deyiminişletilmesi gerekir.
Hafta 4
MATLAB Ders Notları
Örnek: Girilen iki sayının oranını bulan ve
payda sıfır girildiğinde ekrana “üzgünüm sıfıra bölüm hatası var” mesajı yazdıran program
clear pay = input(‘payı giriniz: '); payda = input(‘paydayı giriniz: ');
if payda == 0
Disp(‘üzgünüm, sıfıra bölüm hatası var‘)
else oran = pay/payda;Disp(oran);
end
payda
payoran
Matlabda Koşul Deyimleri 3) Çok koşullu : Bazen üç veya daha çok ifade grubundan seçmek istenebilir.
İf koşul ifadesi 1 deyimgrubu
elseif koşul ifadesi 2 deyimgrubu
elseif koşulifadesi 3 deyim grubu
else deyimgrubu
end
Matlabda Koşul Deyimleri
a=input('Bir a degeri giriniz\n');
if (a>=0 && a < 50 )
disp('notunuz harf degeri = FF');
elseif (a >= 50 && a < 70)
fprintf('notunuz harf degeri = DD\n');
elseif (a >= 70 && a < 80)
fprintf('notunuz harf degeri = CC\n');
elseif (a >= 80 && a < 90)
fprintf('notunuz harf degeri = BB\n');
else
fprintf('notunuz harf degeri = AA\n');
end
MATLAB Ders Notları
Örnek: Girilen (okutulan) x ve y değerlerine göre aşağıdaki sonuc değerini bulan programı yazınız
x>y ise sonuc= (x-y)
x=y ise sonuc=(x-y)7
Değilse sonuc=x+y
x=input('x değeri=');
y=input('y değeri=');
if x>y sonuc=sqrt(x-y)
elseif x==y sonuc=(x-y)^7
else sonuc=x+y
end
ÇÖZÜM:
Hafta 4
MATLAB Ders Notları
Örnek: Girilen ay’a göre gün sayısını hesaplayan program
clear ay = input( ' Kaçınçı ayın gün sayısını öğrenmek istiyorsunuz (1-12)= ' );
if ay==1 | ay==3 | ay ==5 | ay==7 | ay==8 | ay==10 | ay==12
disp(‘Bu Ay 31 günden oluşur‘)
elseif ay==2
disp(' Bu Ay 28 günden oluşur ')else
disp(' Bu Ay 30 günden oluşur ')end
Hafta 4
MATLAB Ders Notları
Not:Not:Şart Harfli Not--------- ------------
Ortalama >= 90 A70 <= Ortalama < 90 B50 <= Ortalama < 70 C Diğer F
Uygulama:Uygulama:
Kullanıcıdan alınan Vize ve Final notlarının ortalamasını (vize’ nin %40’ ı + Finalin %60’ ı) hesaplayan ve Harfli Notunu ekrana yazdıran bir program oluşturunuz (ipucu: vize = input(‘vize notunu giriniz: ‘); )
Hafta 4
MATLAB Ders Notları
Uygulama:Uygulama:
Kullanıcıdan alınan Vize ve Final notlarının ortalamasını (vize’ nin %40’ ı + Finalin %60’ ı) hesaplayan ve Harfli Notunu ekrana yazdıran bir program oluşturunuz (ipucu: vize = input(‘vize notunu giriniz: ‘); )
MATLAB Ders Notları
ÖdevÖdev::
Dışarıdan girilen x değerlerine göre aşağıdaki fonksiyonun değerini hesaplayan bir program yazınız.
410
2
x
5x3xtan(x)
)x(log
1)xln(xxF(x)
5432 xxxxxF(x)
1 < = x < 10
10 < = x
Hafta 4
MATLAB Ders Notları
Switch - CaseSwitch - Case
Şartlı Deyimi, if, else ve elseif yapılarına alternatif çözüm sunar.
Switch (durum)
case (durum1)
işlemler
case (durum2)
işlemler
.
.
otherwise ►isteğe bağlı
end
Switch – Case Yapısı
clc
val=input('bir ile üc arasinda bir sayi girin');
if val==1
disp('bir girdiniz')
elseif val==2
disp('iki girdiniz')
elseif val==3
disp('üc girdiniz')
else
disp ('bir ile üc arasinda deger girmediniz')
end
clc
val=input('bir ile üc arasinda bir sayi girin ');
switch val
case 1
disp('bir girdiniz')
case 2
disp('iki girdiniz')
case 3
disp ('üc girdiniz')
otherwise
disp('bir ile üc arasinda deger girmediniz')
end
Örnek:
• Bir pusulanın kuzeye göre verilen tamsayı açı değerine göre yönün ne olduğunu bulan Matlab kodunu yazınız.
clc aci = input ('bir açı değeri giriniz '); switch angle case {0,360} disp ('kuzey '); case {-180,180} disp('güney'); case {-270,90 } disp ('Dogu'); case {-90,270} disp ('Bati'); otherwise disp('Böyle bir yön yoktur'); end
Hafta 4
MATLAB Ders Notları
Örnek: 1 ile 10 arasında girilen sayıların tek ya da
çift olduğunu ekrana yazdıran programı yazınız
Hafta 4
MATLAB Ders Notları
Örnek: 1 ile 10 arasında girilen sayıların tek ya da
çift olduğunu ekrana yazdıran programı yazınız
Hafta 4
MATLAB Ders Notları
Çözüm: 1 ile 10 arasında girilen sayıların tek ya da
çift olduğunu ekrana yazdıran programı yazınız
Hafta 4
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 Uygulama ::
clear
ay = input('bir ay numarası giriniz (1-12)=');
switch ay
case {1,3,5,7,8,10,12};
disp('Bu Ay 31 günden oluşur')
case {2}
disp('Bu Ay 28 günden oluşur')
case {4,6,8,9,11};
disp('Bu Ay 30 günden oluşur')
end
Hafta 6-7
Matlab Ders Notları
Uygulama: Ax2+Bx+C=0 ikinci derece denklemin köklerini hesaplayan aşağıdaki algoritmayı MATLAB’de programlayınız
A1: Başla
A2: A,B,C değerlerini gir
A3: delta=B^2-4ac değerini hesapla
A4: delta<0 ise ‘kökler kompleks’ yaz, değilse A5’e git
A5: delta>0 ise ’kökler reel’ yaz, değilse ‘katlı kök hali’ yaz
A6:
A7:
A8: X1 değerini yaz
A9: X2 değerini yaz
A10: Son
adeltabX 2/)(1
adeltabX 2/)(2
Hafta 6-7
MATLAB Ders Notları
a=input(‘x^2 li terimin katsayısını giriniz=‘);
b=input(‘x li terimin katsayısını giriniz=‘);
c=input(‘Sabit terimi giriniz=‘);
delta=b^2-4*a*c;
if delta<0
disp(‘kökler kompleks’);
elseif delta>0
disp(‘kökler Reel’)
elseif delta ==0
disp(‘çakışık kök hali’)
end
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
fprintf(‘1.kök:%f\n’, x1);
fprintf(‘2.kök:%f\n’, x2);
Çözüm: