4. HAFTA 10-11 Mart 2010
TRİGONOMETRİK FONKSİYONLAR Matlab’de trigonometrik fonksiyonlarda derece yerine radian kullanılır. 2π=360 veya π=180derecedir. Örneğin derece cinsinden sin(30)=0.5 tir. MATLAB’da aynı işlem Sin(30)=-0.99 bulunur. sin(30*pi/180)
UYGULAMA
LOGARİTMİK ve ÜSTEL FONKSİYONLAR
DOĞAL LOGARİTMA 1- Matlab’de matematikten bildiğimiz doğal logaritma gösterimi ln olarak değil doğrudan log olarak gösterilmektedir. lnx=logex demektir. x değeri için Matematikte lnx Matlab’de log(x)
e sabit sayısı yani e=2. 71828 veya kısaca e=2 e sabit sayısı yani e=2.71828 veya kısaca e=2.71 sayısı e olarak tanımlanmamıştır. Bunun yerine bir sonraki konuda göreceğimiz exp(1) fonksiyonu kullanılabilir. » exp(1) ans = 2.7183
NORMAL LOGARİTMA MATLAB’da x değeri için normal logaritma 10 tabanındadır ve bir x değeri için genel yazımı log10(x) şeklindedir. Doğal logaritma da olduğu gibi negatif sayıların logaritmaları reel sayı değildir ve sıfır için değeri sonsuzdur. 0 ile 1 arasındaki (0 ve 1 dahil değil) değerleri negatiftir. ÖRNEK: log1, log10, log100 ve log 1000, sonra log2, log5, log3/5 ve sonra da log0 ve log(-4) değerlerini bulalım.
ÜSTEL İFADELER ve KAREKÖK diğer fonksiyonumuz karekök alma işlemini gerçekleştiren sqrt fonksiyonudur. x değeri için sqrt(x)
YUVARLATMA İŞLEMLERİ fix: Sıfıra doğru yuvarlatma yapar floor: -∞ ‘a doğru en yakın tamsayıya yuvarlatma yapar ceil: +∞ ‘a doğru en yakın tamsayıya yuvarlatma yapar round: En yakın tamsayıya yuvarlatma yapar
KONTROL AKIŞ YAPILARI mf.kou.edu.tr/elohab/syilmaz/SayCoz_dosyalar/2.Matlab.ppt http://www.ceturk.com/Dersoku.asp?id=43 aliyazici.atilim.edu.tr/MATLAB1.doc Mehmet Uzunoğlu, Ali Kızıl, Ömer Çağlar Onar, Her Yönü ile MATLAB, Genişletilmiş 2. Baskı, Türkmen Kıtabevi,ISBN 975-6392-07-X, İstanbul 2003. http://efe.ege.edu.tr/~matlab/hafta6/Hafta6_2.ppt#274,8,Slayt 8
if, elseif ve else If İngilizce' de -eğer, -ise anlamına gelir. Yani biz burada If deyimini kısaca özetlemek istersek; If deyimini kullandığımızda "eğer şu iş şöyle ise yap" demiş oluyoruz.. Else yani -başka deyimini kullandığımızda ise "şu iş şöyle değilse bunu yap" demiş oluyoruz. Genel olarak yazım kuralı şöyledir:
3 değişik kullanım şekli vardır if Koşul Komut Gurubu1 Komut Gurubu2 …. end if Koşul Komut Gurubu1 else Komut Gurubu2 end if Koşul 1 Komut Gurubu1 elseif Koşul 2 Komut Gurubu2 else Komut Grubu3 end
Örnek.1) İstenen sayıda iç içe geçmiş if deyimleri ağı oluşturulabilir. Bu durumda her bir yeni if şartı bir end ile bitmelidir. vize=100*rand(1) final=100*rand(1) if final>=50 ort=0.4*vize+0.6*final if ort>=50 disp('Gectiniz') else disp(‘ortalama yüzünden kaldiniz’) end else disp(‘Final yüzünden kaldınız’)
Örnek.2)
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
Ö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