Yrd.Doç.Dr.Levent Malgaca,2010 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
Yrd.Doç.Dr.Levent Malgaca,2010 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
Yrd.Doç.Dr.Levent Malgaca,2010 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. >> N=3;n=6;a=N*n a = 18 N, n değerleri “;” ile ekranda gizlenir. a sonucu 18 olarak hesaplanır. Örnek: Yrd.Doç.Dr.Levent Malgaca,2010
Yrd.Doç.Dr.Levent Malgaca,2010 MATLAB’de Yardımcı Komutlar Ders kapsamında MATLAB ortamında kullanılan bazı yardımcı komutlar aşağıda verilmiştir. komut penceresinde ekranı temizler. hafızasında tanımlanan değişkenleri temizler. dizin değiştirir. aktif dizini görüntüler. aktif dizin içindeki dosyaları görüntüler. tanımlanmış değişkenleri görüntüler istenen komutun kullanımını ve amacını listeler. istenen bir anahtar kelime için arama yapar. >>clc >>clear >>cd >>pwd >>dir >>whos >>help komutadı >>lookfor anahtarkelime Yrd.Doç.Dr.Levent Malgaca,2010
Yrd.Doç.Dr.Levent Malgaca,2010 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çıklama satırıdır, % sonrası programda işletilmez. aynı satırda iki değişken tanımlanır,ekranda a ve b görüntülenir . ; karakteri ile ekranda a ve b görüntülenmez . : karakteri 0 ile 10 arasında 2 artımla sayı dizisi oluşturur. ' karakteri matris işlemlerinde transpoze (satırı sütun veya tersi) alır. >>% a=2 >>a=2,b=3 >>a=2;b=3; >>a=0:2:10 >>a=0:1:3;b=a' Yrd.Doç.Dr.Levent Malgaca,2010
Yrd.Doç.Dr.Levent Malgaca,2010 Ö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 4 6 8 10 y = 4 8 12 16 20 z = 3 r1=z*z r2=z*x r3=z*y r4=y.*y r5=x.*y r6=x.^2 r7=x./y r1 = 9 r2 = 6 12 18 24 30 r3 = 12 24 36 48 60 r4 = 16 64 144 256 400 r5 = 8 32 72 128 200 r6 = 4 16 36 64 100 r7 = 0.5000 0.5000 0.5000 0.5000 0.5000 Yrd.Doç.Dr.Levent Malgaca,2010
Yrd.Doç.Dr.Levent Malgaca,2010 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) >>cos(x) >>atan(x) >>exp(x) >>log10(x) >>abs(x) >>sqrt(x) >>fix(x) >>round(x) >>help elfun x’in sinüsü, x radyan olarak. x’in cosinüsü, x radyan olarak. x’in ters tanjantı, x radyan olarak. e sayısının x. üssü. 10 tabanında logaritma. x sayısının mutlak değeri. x sayısının karakökü. x sayısını 0’ a yakın tam sayıya yuvarlar. x sayısını en yakın tam sayıya yuvarlar. MATLAB’in tüm matematiksel fonksiyonlarını listeler. Yrd.Doç.Dr.Levent Malgaca,2010
Yrd.Doç.Dr.Levent Malgaca,2010 Örnek: MATLAB komut penceresinde aşağıdaki işlemleri yapınız. >>clc % ekranı temizle. >>clear % hafızayı temizle. >>xd=60; % derece değerini gir. >>xr=xd*pi/180; % xd‘ yi dereceden radyana çevir. >>a=sin(xr); % xr’nin sinüsünü hesapla. >>b=cos(xr); % xr’nin cosinüsünü hesapla. >>a,b % a ve b’ yi ekranda göster. MATLAB düzenleyicisinde yukarıdaki programı yazınız, ex1.m olarak kaydediniz, Farklı açı değerleri için hesaplama yapınız. Örnek: clc % ekranı temizle. clear % hafızayı temizle. xd=60; % derece değerini gir. xr=xd*pi/180; % xd‘ yi dereceden radyana çevir. a=sin(xr); % xr’nin sinüsünü hesapla. b=cos(xr); % xr’nin cosinüsünü hesapla. a,b % a ve b’ yi ekranda göster. Yrd.Doç.Dr.Levent Malgaca,2010
Yrd.Doç.Dr.Levent Malgaca,2010 Aşağıda verilen vektör diyagramında x değerini hesaplayınız, sonucu tam sayıya yuvarlayınız. Örnek: clc,clear a=3.8;b=3; x=sqrt(a^2+b^2) x1=round(x) x2=fix(x) x = 4.8415 x1 = 5 x2 = 4 a=3.8 b=3 x 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. Örnek: s = 0.9832 S = 1 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
Yrd.Doç.Dr.Levent Malgaca,2010 MATLAB’de Temel Hesaplama Komutları MATLAB’de temel hesaplama komutlarından bazıları aşağıda listelenmiştir. >>roots(a) >>poly(a) >>polyval(a,1) >>[y,n]=max(x) >>[y,n]=min(x) >>sum(x) >>mean(x) >>std(x) a polinomunun köklerini hesaplar. verilen köklerden polinomun katsayılarını hesaplar. a polinomunun 1 değeri için sonucunu hesaplar. x sayı dizisinde en büyüğü bulur, y: değer, n: sıra. x sayı dizisinde en küçüğü bulur, y: değer, n: sıra. x sayı dizisindeki elemaları toplar. x sayı dizisinin aritmetik ortalamasını hesaplar. x sayı dizisinin standart sapmasını hesaplar. Yrd.Doç.Dr.Levent Malgaca,2010
Yrd.Doç.Dr.Levent Malgaca,2010 Aşağıdaki denklemin köklerini, ve x=1 değeri için p değerini hesaplayınız. Örnek: 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.8899i 2.6414 - 1.8899i p = 42.5000 Örnek: Elde edilen r köklerinden polinomun katsayılarını hesaplayınız. r =[-5.7827, 2.6414 + 1.8899i, 2.6414 - 1.8899i]; p=poly(r) Yrd.Doç.Dr.Levent Malgaca,2010
Yrd.Doç.Dr.Levent Malgaca,2010 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. Örnek: not=[63,78,82,20,71,65]; notort=mean(not); nots=std(not); [nmax,k1]=max(not); [nmin,k2]=min(not); notort,nots,nmax,nmin Aritmetik ortalama formülünü kullanarak sınıfın not ortalamasını MATLAB ile hesaplayınız. Örnek: not=[63,78,82,20,71,65]; toplam=sum(not); n=length(not); notort=toplam/n Yrd.Doç.Dr.Levent Malgaca,2010
Yrd.Doç.Dr.Levent Malgaca,2010 MATLAB’de Grafik Çizme MATLAB’de sayısal veya sembolik olarak fonksiyonların grafiği çizilebilir. >>plot(t,y) >>ezplot(y,t1,t2) t-y grafiğini sayısal olarak çizer. sembolik tanımlanan y’nin grafiğini t1-t2 aralığında çizer . Örnek: t=-10:1:10; y=3*t.^3+t.^2-2*t+1; plot(t,y) Örnek: t1=-10;t2=10; y='3*t^3+t^2-2*t+1'; >> ezplot(y,t1,t2) Yrd.Doç.Dr.Levent Malgaca,2010
Yrd.Doç.Dr.Levent Malgaca,2010 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. fval = 0.5089 0.5999 0.6220 0.5751 0.4594 0.2746 f = -3.4464 1.2546 0.5089 Örnek: clc;clear; x =[0 0.1 0.2 0.3 0.4 0.5]; y =[0.5 0.65 0.54 0.61 0.48 0.26]; n=2; f=polyfit(x,y,n) fval=polyval(f,x); plot(x,y,'or') hold on pause plot(x,fval); Yrd.Doç.Dr.Levent Malgaca,2010
Yrd.Doç.Dr.Levent Malgaca,2010 f4 = 0.0016 -0.0834 0.9455 4.1659 10.7792 Örnek: f8 = -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]; f4=polyfit(x,y,4) f8=polyfit(x,y,8) t=0:0.25:30; fval1=polyval(f4,t); fval2=polyval(f8,t); plot(x,y,'or') hold on pause plot(t,fval1); plot(t,fval2,'g'); Yrd.Doç.Dr.Levent Malgaca,2010