22
Matlab Ders Notları MATLAB’ de Programlama Makine Müh. & Jeoloji Müh. 2012-13/ Bahar

Makine Müh. & Jeoloji Müh

  • 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

Page 1: Makine Müh. & Jeoloji Müh

Matlab Ders Notları

MATLAB’ de

Programlama

Makine Müh. & Jeoloji Müh.

2012-13/ Bahar

Page 2: Makine Müh. & Jeoloji Müh

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)

Page 3: Makine Müh. & Jeoloji Müh

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

Page 4: Makine Müh. & Jeoloji Müh

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.

Page 5: Makine Müh. & Jeoloji Müh

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.

Page 6: Makine Müh. & Jeoloji Müh

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

Page 7: Makine Müh. & Jeoloji Müh

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

Page 8: Makine Müh. & Jeoloji Müh

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

Page 9: Makine Müh. & Jeoloji Müh

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:

Page 10: Makine Müh. & Jeoloji Müh

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

Page 11: Makine Müh. & Jeoloji Müh

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: ‘); )

Page 12: Makine Müh. & Jeoloji Müh

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: ‘); )

Page 13: Makine Müh. & Jeoloji Müh

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

Page 14: Makine Müh. & Jeoloji Müh

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

Page 15: Makine Müh. & Jeoloji Müh

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

Page 16: Makine Müh. & Jeoloji Müh

Ö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

Page 17: Makine Müh. & Jeoloji Müh

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

Page 18: Makine Müh. & Jeoloji Müh

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

Page 19: Makine Müh. & Jeoloji Müh

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

Page 20: Makine Müh. & Jeoloji Müh

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

Page 21: Makine Müh. & Jeoloji Müh

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

Page 22: Makine Müh. & Jeoloji Müh

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: