Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Discussion: comp.soft-sys.matlab

Benzer bir sunumlar


... konulu sunumlar: "Discussion: comp.soft-sys.matlab"— Sunum transkripti:

1 Discussion: comp.soft-sys.matlab
Discussion: comp.soft-sys.matlab An unmoderated newsgroup that focuses on the software package Matlab.

2 if … …. else … elseif… elseilf… end
% DENEME 8: “girilen notlardan harfli notun bulunması’ not=input(‘1 ve 100 arasında bir not giriniz= '); if not<=0 disp(‘lütfen 1 ve 100 arasında bir not giriniz') else if not>=81 harfli_not='AA' elseif (not>=76 & not<=80) harfli_not ='BA' elseif (not>=70 & not<=75) harfli_not ='BB') elseif (not>=60 & not<=69) harfli_not ='CB'; elseif (not>=50 & not<=59) harfli_not ='CC'; elseif (not>=45 & not<=49) harfli_not ='DC' elseif (not>=40 & not<=44) harfli_not ='DD' elseif (not>=30 & not<=39) harfli_not ='FD' elseif (not>=1& not<=29) harfli_not ='FF' end if … …. else elseif… elseilf… end

3 switch-case yapısı switch-case (değiştir-durum) yapısı, yukarıda gördüğümüz if, else ve elseif yapılarının kullanımına bir alternatif getirir. Aslında switch-case ile yapılan herşey if yapılarıyla da yapılır ama switch-case ile yazılan programlar daha okunabilir bir özelliğe sahiptir. Genel formatı Giriş ifadesi, her bir case değeri ile karşılaştırılır. Her bir case değeri ayrı bir satırda olmalıdır. switch giriş ifadesi (skaler veya karakter dizgesi) case ifadesi deyim grubu-1 deyim grubu-2 . otherwise deyim grubu-n end

4

5

6

7

8 Örnek: sindeg.m adlı bir dosyada, girilen bir açı değerinin hangi bölgede olduğu ve sinüs değerinin ne olduğunu bulmak için aşağıdaki kodu giriniz. angle=input('Bir aci giriniz: '); switch fix(angle/90) case 0 disp('I. Bolge ve pozitif') case 1 disp('II. Bolge ve pozitif') case 2 disp('III. Bolge ve negatif') case 3 disp('IV. Bolge ve negatif') otherwise disp('0 ile 360 arasinda bir deger giriniz') end

9 For Döngüsü Genel Kullanımı: for k=başlangıç:adım:son komutlar end
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. Çevrim, bir tekrarlı işlem yapısıdır. Ç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ı Genel Kullanımı: for k=başlangıç:adım:son komutlar end

10 for döngüsü ile yineleme
Örnek 1: Aşağıdaki program döngü içindeki hesaplamayı 5 kez yürütür. y'nin ilk değeri 1 olsun. y(1)=1 for i=2:6 y(i)=2*y(i-1); end

11 for döngüsü ile yineleme
Örnek 2: 3X4'lük bir matrisin elemanları şu formüle göre hesaplansın; m=3; n=4; for i=1:m for j=1:n A(i,j)=1/(i+j-1) end

12 k=1 for n=0:0.2:1 x(k)=n; f(k)=n*n; k=k+1 end Örnek 3:
Bu koda f(x)=x2 fonksiyonu [0,1] aralığında ve 0.2 ile artan tüm değerler için çalışıyor. Alternatif gösterim f=x.*x

13 While Döngüsü Önceden belirlenmiş belli bir durum gerçekleşinceye kadar gereken sayıda tekrar edilen ifadeleri içerir. Genel Kullanımı: while durum ifade_1 ifade_2 ….. ifade_n end

14 q=pi; k=0 while q>0.01 q=q/2 k=k+1 end
Örnek 1: Bu örnekte ilk değeri 3.14 olan bir q değişkeninin değeri, 0.01’den küçük olana kadar sürekli olarak yarılanır. Burada q’nun sondan bir önceki değeri olan , 0.01’den büyük olduğu için döngünün içindeki komut son kez yürütülmüş ve q, bulunmuştur. q’nun son değeri 0.01’den küçük olduğundan döngü içindeki komut bundan sonra yürütülmemiştir q=pi; k=0 while q>0.01 q=q/2 k=k+1 end

15 disp(‘Harita Mühendisliği Bölümü') end
Örnek 2: a=5 while a<10 a=a+1 end Örnek 3: Ekrana bir ifadeyi 10 kez yazan bir programı WHILE döngüsü kullanarak yazınız. a=0 while a<10 a=a+1; disp(‘Harita Mühendisliği Bölümü') end

16 y=zeros(1,2) x=[2 3] while x>=0 y=y+x x=x-1 disp(y) end Örnek 4:
Çıktısı; 2 3 3 5 3 6

17 try…catch a=3 try x=5*a y=3*b catch z=a^2 end
try…catch arasındaki ifadelerden x=5*a ifadesinde kullanılan a değişkeni, önceden tanımlanmıştır. Bu yüzden ifade, aynen işletilir. Bu deyimler arasındaki diğer bir ifade olan y=3*b önceden tanımlanmamış bir b değişkeni bulundurduğu için MATLAB bu noktadan itibaren catch ile end arasındaki ifadelerin işletilmesine geçer. Eğer try—catch arasında sadece x=5*a ifadesi bulunuyor olsaydı MATLAB asla catch---end arasındaki ifadeleri işletmeyecekti.

18 fprintf Fonksiyonu Genel kullanımı:
fprintf(‘ekrana bası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

19 Açıklama: Örnek 1: >>fprintf(‘pi sayisi = %5.2f \n\n ‘, pi)
SONUÇ: pi sayisi = 3.14 Açıklama: %5; eşitlikten sonraki boşluğu (5 karakter) .2f; ondalık hane sayısını (2 hane) \n; yazının altındaki boşluğu (2 satır) belirlemektedir.

20 fprintf('Döngünün başı\n'); for i = 4:-1:1 fprintf('MERHABA i = %g\n',i); end fprintf('\n Döngünün sonu.\n'); Örnek 2: for a=1:10 for b=1:10 carpim=a*b; fprintf(' %d * %d = %d\n ', a, b, carpim) end Örnek 3:

21 DENEME 9: programı alternatif yapı ile yeniden yazma
if number==1 | number==3 | number==5 | number==7 | number ==9 ‘tek sayı' elseif number==2 | number==4 | number==6 | number==8 | number ==10 ‘çift sayı' else ‘sayı 1 ile 10 arasında değildir' end

22 DENEME 11: programı alternatif yapı ile yeniden yazma
for i=1:5 a=a+1 end

23 DENEME 14: daha fazla uygulama
for i=1:2 for j=1:3 A(j,i)=1/(i+j+1) end


"Discussion: comp.soft-sys.matlab" indir ppt

Benzer bir sunumlar


Google Reklamları