MATLAB le Teknik Hesaplama MATLAB ierisinde birok hazr
MATLAB İle Teknik Hesaplama • MATLAB içerisinde birçok hazır fonksiyonlar ve araçlar içeren, aynı zamanda program geliştirmeye izin veren, temeli C program diline dayanan, mühendislikde, bilimde ve uygulamalı matematikde kullanılan teknik hesaplama programıdır. • The Mathworks, Inc. (http: //www. mathworks. com) firması tarafından geliştirilmiştir. • Mühendislik problemlerinde karşılan değişik tipte denklemlerin (cebirsel, diferansiyel, matris) çözümü MATLAB ile gerçekleştirilebilir. • MATLAB ortamında, sayısal hesaplama, sembolik hesaplama, bilimsel görselleştirmeler (grafik çizme, resim işleme) ve ileri derecede programlamlar gerçekleştirilebilir. Yrd. Doç. Dr. Levent Malgaca, 2010 1
• MATLAB ortamında hesaplama için Komut Penceresi (Command Window) veya Düzenleyici (Editör) kullanılabilir. Editörde kaydedilen “m” uzantılı dosyalar komut penceresinde çalıştırılır. Yrd. Doç. Dr. Levent Malgaca, 2010 2
Değişken İsmi ve Fonksiyonlar için Kurallar • MATLAB, küçük/büyük harfe duyarlıdır (Case Sensitive). Küçük ve Büyük harf farklı değişkenler olarak algılanır. Örneğin; Name, NAME, name üç farklı değişken ismidir. • MATLAB’ de fonksiyon ve değişken isimleri harf ile başlar. Değişken ismi mevcut fonksiyon ismi ile aynı olmamalıdır ve 31 karakter uzunluğunu aşmamalıdır. Örnek: >> N=3; n=6; a=N*n N, n değerleri “; ” ile ekranda gizlenir. a= 18 a sonucu 18 olarak hesaplanır. Yrd. Doç. Dr. Levent Malgaca, 2010 3
MATLAB’de Yardımcı Komutlar • Ders kapsamında MATLAB ortamında kullanılan bazı yardımcı komutlar aşağıda verilmiştir. >>clc " komut penceresinde ekranı temizler. >>clear " hafızasında tanımlanan değişkenleri temizler. >>cd " dizin değiştirir. >>pwd " aktif dizini görüntüler. >>dir " aktif dizin içindeki dosyaları görüntüler. >>whos " tanımlanmış değişkenleri görüntüler >>help komutadı " istenen komutun kullanımını ve amacını listeler. >>lookfor anahtarkelime " istenen bir anahtar kelime için arama yapar. Yrd. Doç. Dr. Levent Malgaca, 2010 4
MATLAB’de Özel Karakterler • MATLAB’de bazı karakterler (% , ; : ) özel amaçlar için kullanılmaktadır. • + - * / ^ operatörler ile cebirsel işlemler yapılır. • . *. /. ^ opratör önünde “. ” ile kullanıldığında eleman işlemleri yapılır. >>% a=2 " açıklama satırıdır, % sonrası programda işletilmez. >>a=2, b=3 " aynı satırda iki değişken tanımlanır, ekranda a ve b görüntülenir. >>a=2; b=3; " ; karakteri ile ekranda a ve b görüntülenmez. >>a=0: 2: 10 " : karakteri 0 ile 10 arasında 2 artımla sayı dizisi oluşturur. >>a=0: 1: 3; b=a' " ' karakteri matris işlemlerinde transpoze (satırı sütun veya tersi) alır. Yrd. Doç. Dr. Levent Malgaca, 2010 5
Örnek: Aşağıdaki örnek işlemleri MATLAB’ de çalıştırınız. x=2: 2: 10 y=4: 4: 20 z=3 x= 2 y= 4 z= 3 r 1=z*z r 1 = 9 r 2 = 6 12 r 3 = 12 24 r 4 = 16 64 r 5 = 8 32 r 6 = 4 16 r 7 = 0. 5000 r 2=z*x r 3=z*y r 4=y. *y r 5=x. *y r 6=x. ^2 r 7=x. /y 4 6 8 10 8 12 16 20 18 24 30 36 48 60 144 256 400 72 128 200 36 64 100 0. 5000 Yrd. Doç. Dr. Levent Malgaca, 2010 0. 5000 6
MATLAB’de Temel Matematiksel Fonksiyonlar • MATLAB’de temel matematiksel fonksiyonlar ve açıklamaları aşağıda verilmiştir. Tüm fonksiyonları “help elfun” ile listelenir. >>sin(x) " x’in sinüsü, x radyan olarak. >>cos(x) " x’in cosinüsü, x radyan olarak. >>atan(x) " x’in ters tanjantı, x radyan olarak. >>exp(x) " e sayısının x. üssü. >>log 10(x) " 10 tabanında logaritma. >>abs(x) " x sayısının mutlak değeri. >>sqrt(x) " x sayısının karakökü. >>fix(x) " x sayısını 0’ a yakın tam sayıya yuvarlar. >>round(x) " x sayısını en yakın tam sayıya yuvarlar. >>help elfun " MATLAB’in tüm matematiksel fonksiyonlarını listeler. Yrd. Doç. Dr. Levent Malgaca, 2010 7
Örnek: MATLAB komut penceresinde aşağıdaki işlemleri yapınız. >>clc >>clear >>xd=60; >>xr=xd*pi/180; >>a=sin(xr); >>b=cos(xr); >>a, b Örnek: % ekranı temizle. % hafızayı temizle. % derece değerini gir. % xd‘ yi dereceden radyana çevir. % xr’nin sinüsünü hesapla. % xr’nin cosinüsünü hesapla. % a ve b’ yi ekranda göster. MATLAB düzenleyicisinde yukarıdaki programı yazınız, ex 1. m olarak kaydediniz, Farklı açı değerleri için hesaplama yapınız. clc clear xd=60; xr=xd*pi/180; a=sin(xr); b=cos(xr); a, b % ekranı temizle. % hafızayı temizle. % derece değerini gir. % xd‘ yi dereceden radyana çevir. % xr’nin sinüsünü hesapla. % xr’nin cosinüsünü hesapla. % a ve b’ yi ekranda göster. Yrd. Doç. Dr. Levent Malgaca, 2010 8
Örnek: Aşağıda verilen vektör diyagramında x değerini hesaplayınız, sonucu tam sayıya yuvarlayınız. clc, clear b=3 x a=3. 8 Örnek: a=3. 8; b=3; x=sqrt(a^2+b^2) x 1=round(x) x 2=fix(x) x= 4. 8415 x 1 = 5 x 2 = 4 Aşağıda verilen denklemde x=0. 1, a=0. 2 değerleri için S değerini hesaplayınız, sonucu en yakın tam sayıya yuvarlayınız. s= clc; clear x=0. 1; a=0. 2; s=a/(sin(pi*a)*sqrt(a^2+x^2))*sin(pi*sqrt(a^2+x^2)) S=round(s) Yrd. Doç. Dr. Levent Malgaca, 2010 0. 9832 S= 1 9
MATLAB’de Temel Hesaplama Komutları • MATLAB’de temel hesaplama komutlarından bazıları aşağıda listelenmiştir. >>roots(a) " a polinomunun köklerini hesaplar. >>poly(a) " verilen köklerden polinomun katsayılarını hesaplar. >>polyval(a, 1) " a polinomunun 1 değeri için sonucunu hesaplar. >>[y, n]=max(x) " x sayı dizisinde en büyüğü bulur, y: değer, n: sıra. >>[y, n]=min(x) " x sayı dizisinde en küçüğü bulur, y: değer, n: sıra. >>sum(x) " x sayı dizisindeki elemaları toplar. >>mean(x) " x sayı dizisinin aritmetik ortalamasını hesaplar. >>std(x) " x sayı dizisinin standart sapmasını hesaplar. Yrd. Doç. Dr. Levent Malgaca, 2010 10
Örnek: Aşağıdaki denklemin köklerini, ve x=1 değeri için p değerini hesaplayınız. a=[1, 0. 5, -20, 61]; % polinomun katsayıları. r=roots(a) % polinomun köklerini hesaplar. p=polyval(a, 1) % x=1 içi p yi hesaplar. Yanıt: MATLAB ekran görüntüsünde aşağıdaki sonuçlar elde edilir. r= -5. 7827 2. 6414 + 1. 8899 i 2. 6414 - 1. 8899 i p= 42. 5000 Örnek: Elde edilen r köklerinden polinomun katsayılarını hesaplayınız. r =[-5. 7827, 2. 6414 + 1. 8899 i, 2. 6414 - 1. 8899 i]; p=poly(r) Yrd. Doç. Dr. Levent Malgaca, 2010 11
Örnek: Bir sınıfta alınan notlar; 63, 78, 82, 20, 71, 65 dir. Sınıfın not ortalamasını, standart sapmasını, en büyük ve en küçük notu MATLAB ile hesaplayınız. not=[63, 78, 82, 20, 71, 65]; notort=mean(not); nots=std(not); [nmax, k 1]=max(not); [nmin, k 2]=min(not); notort, nots, nmax, nmin Aritmetik ortalama formülünü kullanarak sınıfın Örnek: not ortalamasını MATLAB ile hesaplayınız. not=[63, 78, 82, 20, 71, 65]; toplam=sum(not); n=length(not); notort=toplam/n Yrd. Doç. Dr. Levent Malgaca, 2010 12
MATLAB’de Grafik Çizme • MATLAB’de sayısal veya sembolik olarak fonksiyonların grafiği çizilebilir. >>plot(t, y) " t-y grafiğini sayısal olarak çizer. >>ezplot(y, t 1, t 2) " sembolik tanımlanan y’nin grafiğini t 1 -t 2 aralığında çizer. Örnek: t=-10: 1: 10; y=3*t. ^3+t. ^2 -2*t+1; plot(t, y) Örnek: t 1=-10; t 2=10; y='3*t^3+t^2 -2*t+1'; >> ezplot(y, t 1, t 2) Yrd. Doç. Dr. Levent Malgaca, 2010 13
MATLAB’de Eğri Geçirme • Verilen sayı dizilerini temsil edecek eğrinin, istenen dereceden polinom katsayıları hesaplanabilir. >>f=polyfit(x, y, n) " y sayı dizisi x’e göre değişmekte, n. dereceden hesaplanan polinom katsayıları f değişkenine atanmaktadır. Örnek: fval = 0. 5089 clc; clear; x =[0 0. 1 0. 2 0. 3 0. 4 y =[0. 5 0. 65 0. 54 0. 61 n=2; f=polyfit(x, y, n) fval=polyval(f, x); plot(x, y, 'or') hold on pause plot(x, fval); 0. 5999 0. 5]; 0. 48 f= 0. 6220 -3. 4464 0. 5751 0. 4594 1. 2546 0. 2746 0. 5089 0. 26]; Yrd. Doç. Dr. Levent Malgaca, 2010 14
Örnek: f 4 = f 8 = 0. 0016 -0. 0834 0. 9455 4. 1659 10. 7792 -0. 0000 0. 0001 -0. 0023 0. 0422 -0. 3878 1. 4525 0 0 10. 0000 clc; clear; x=[0 5 10 15 20 25 30]; y=[10 50 70 95 50 20 10]; f 4=polyfit(x, y, 4) f 8=polyfit(x, y, 8) t=0: 0. 25: 30; fval 1=polyval(f 4, t); fval 2=polyval(f 8, t); plot(x, y, 'or') hold on pause plot(t, fval 1); hold on pause plot(t, fval 2, 'g'); Yrd. Doç. Dr. Levent Malgaca, 2010 15
- Slides: 15