Makine Müh. & Jeoloji Müh. MATLAB’ de Programlama 2012-13/ Bahar Makine Müh. & Jeoloji Müh. Matlab Ders Notları
Kontrol 1) Karşılaştırma (Compare) 2) Döngü (Loop) For - End yapıları 1) Karşılaştırma (Compare) IF-ElseIf-Else-End SWITCH-Case-Otherwise-End 2) Döngü (Loop) For - End While - End MATLAB Ders Notları
IF Şartının Üç şekli vardır if Şartlı deyimi Bir mantıksal ifadeyi kontrol ederek bunun sonucuna göre mümkün seçeneklerden birini icra edebilen bir komuttur. IF Şartının Üç şekli vardır 3.Çok Koşullu IF Şart … ELSEIF … ELSE END 2.İki Koşullu IF Şart 1.işlem; ELSE 2. işlem END 1.Tek Koşullu IF Şart 1. işlem 2. işlem 3. işlem : END MATLAB Ders Notları
Matlabda Koşul Deyimleri 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. if koşul ifadesi deyim end; a = input('bir a degeri giriniz'); if a < 50 sonuc = a * 5; end fprintf('carpim %d \n',sonuc);
Matlabda Koşul Deyimleri 2) İki koşullu : Bazen if ifadesindeki koşula bağlı olarak koşul doğru ise bir deyimin yanlış ise bir deyimin işletilmesi gerekir. İf koşul ifadesi deyim else 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);
Ö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 Hafta 4 MATLAB Ders Notları
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 elseif koşulifadesi 3 deyim grubu else 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
if x>y sonuc=sqrt(x-y) elseif x==y sonuc=(x-y)^7 else sonuc=x+y end Ö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: 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ı
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: ‘); ) Not: Şart Harfli Not --------- ------------ Ortalama >= 90 A 70 <= Ortalama < 90 B 50 <= Ortalama < 70 C Diğer F Hafta 4 MATLAB Ders Notları
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: ‘); ) clc; vize = input('vize notunu giriniz: '); final = input('final notunu giriniz: '); ortalama = vize*0.40 + final*0.60; if (ortalama >= 90) fprintf('harf notu: A \nortalama: %5.2f \n', ortalama); disp('bu satır çalışır mı ?'); elseif (ortalama >= 70 && ortalama < 90) fprintf('harf notu: B \nortalama: %5.2f \n', ortalama); end; Hafta 4 MATLAB Ders Notları
1 < = x < 10 10 < = x Ödev: Dışarıdan girilen x değerlerine göre aşağıdaki fonksiyonun değerini hesaplayan bir program yazınız. 1 < = x < 10 10 < = x MATLAB Ders Notları
Şartlı Deyimi, if, else ve elseif yapılarına alternatif çözüm sunar. Switch - Case Şartlı Deyimi, if, else ve elseif yapılarına alternatif çözüm sunar. Switch (durum) case (durum1) işlemler case (durum2) . otherwise ►isteğe bağlı end Hafta 4 MATLAB Ders Notları
Switch – Case Yapısı 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 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
Ö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
Örnek: 1 ile 10 arasında girilen sayıların tek ya da çift olduğunu ekrana yazdıran programı yazınız clc; sayi=input('1 ile 10 arasında bir sayı giriniz:'); switch (sayi) case {1, 3, } fprintf('girdiğiniz sayı: %d\n',sayi) disp('Bu sayı Tektir') case 2 disp('Bu sayı Çifttir') otherwise disp('Girilen sayı 1 ile 10 arasında değildir') 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 clc; sayi=input('1 ile 10 arasında bir sayı giriniz:'); switch (sayi) case {1, 3, } fprintf('girdiğiniz sayı: %d\n',sayi) disp('Bu sayı Tektir') case 2 disp('Bu sayı Çifttir') otherwise disp('Girilen sayı 1 ile 10 arasında değildir') end 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 clc; sayi=input('1 ile 10 arasında bir sayı giriniz:'); switch (sayi) case {1, 3, 5, 7, 9} fprintf('girdiğiniz sayı: %d\n',sayi) disp('Bu sayı Tektir') case {2,4,6,8,10} disp('Bu sayı Çifttir') otherwise disp('Girilen sayı 1 ile 10 arasında değildir') end Hafta 4 MATLAB Ders Notları
Uygulama : clear ay = input('bir ay numarası giriniz (1-12)='); Girilen ay numarasına göre, o ayın gün sayısını veren programı switch komutu kullanarak yazınız. 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 4 MATLAB Ders Notları
A3: delta=B^2-4ac değerini hesapla 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 Hafta 6-7 Matlab Ders Notları
a=input(‘x^2 li terimin katsayısını giriniz=‘); Çözüm: 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); Hafta 6-7 MATLAB Ders Notları