You are on page 1of 15

MATLAB

Giri
Mehmet Sira ZERDEM EEM - Dicle niversitesi Bilgisayar Programlama

MATLAB TANITIM
MATLAB NEDR? MATLAB(MATrix LABoratory Matris Laboratuar), temel olarak teknik ve bilimsel hesaplamalar iin yazlm yksek performansa sahip bir yazlmdr. 1970lerin sonunda Cleve Moler tarafndan yazlan Matlab programnn tipik kullanm alanlar:
Matematiksel (nmerik ve sembolik) hesaplama ilemleri Algoritma gelitirme ve kod yazma yani programlama Lineer cebir,istatistik,Fourier analizi,filtreleme,optimizasyon,saysal integrasyon vb. konularda matematik fonksiyonlar 2D ve 3D grafiklerinin izimi Modelleme ve simlasyon (benzetim) Grafiksel arayz oluturma Veri analizi ve kontrol Gerek dnya artlarnda uygulama gelitirme

eklinde zetlenebilir.

MATLAB TANITIM
- Matlab, ABD meneli The Mathworks Inc. irketinin tescilli addr. Web adresi: http://www.mathworks.com - Matlabin Trkiye temsilcisi Bursa merkezli Figes firmasdr. Web adresi: http://www.figes.com.tr

MATLAB TANITIM
MATLAB, matematik-istatistik, optimizasyon, neural network, fuzzy, iaret ve grnt ileme, kontrol tasarmlar, yneylem almalar, tbbi aratrmalar, finans ve uzay aratrmalar gibi ok eitli alanlarda kullanlmaktadr. MATLAB, kullancya hzl bir analiz ve tasarm ortam salar. Matlab programn C/C++ diline dntrebilir, 20. dereceden bir denklemin kklerini bulabilir, 100x100 boyutlu bir matrisin tersini alabilir, Bir elektrik motorunu gerek zamanda kontrol edebilir, Bir otobsn sspansiyon simlasyonunu yapabilirsiniz, ..
4

MATLAB TANITIM
Matlab, aratrma ve mhendislik alanlarnda karlalan problemlere pratik ve hzl sonular sunmaktadr. Bu nedenle Matlab, tm dnyada binlerce endstri, devlet ve akademik kurumlarda kullanlmaktadr. zellikle tm niversitelerde yaygn olarak kullanlmaktadr. Matlab kullanc irketler arasnda
Dnyada Boeing, DaimlerChrsyler, Motorola, NASA, Texas Instruments, Toyota ve Saab vb, lkemizde ise Aselsan, Tofa, Arelik, Siemens, Alcatel, Garanti Bankas, Deniz Kuvvetleri, vb..

irketler verilebilir.
5

MATLAB TANITIM
Matlab program altnda kullanacamz temel aralar:
- Komut Penceresi

- Programlama (M-file *.m) - Grafik (Figure *.fig) - Grafik Arayzl Programlar (GUI *.fig) - Simulink (Model *.mdl) ve Blockset Modlleri - Toolbox (Ara Kutusu) Modlleri (Fuzzy, Neural,Statistic vb.) - Microsoft ExcelMatlab - Matlab Web-Server - xPC Target ve xPC Target Embedded - Stateflow, Real-Time Workshop, Real-Time Windows Target

MATLAB TANITIM
Matlab program lisansl bir yazlmdr bu nedenle cretli olarak satn alnmaldr. Bir ok stnlklerine ve yaygn kullanm alanlarna oranla iki dezavantaj vardr: Yava alr. Fiyat dier edeerlerine gre pahaldr.

MATLAB TEMEL KULLANIM


Matlab Kullanmnda Temel Kurallar: Programn dili ve yardm bilgileri tamamen ingilizcedir. Komut temelli yazlmdr. Kk-byk harf ayrm vardr. Dicle ve dicle farkl alglanr. iareti komut promptudur. Komutlar Enter ile yrtlr.

MATLAB TEMEL KULLANIM


SAYILAR Ondalk saylar 3.5 eklinde gsterilir (0.65 yerine .65) Bilimsel notasyon gsterimi olan e (veya E) harfi 10nun kuvvetini temsil eder. 2e4=2.104=2000 veya 1.65e-20=1.65.10-20 demektir. Kompleks saylarda imajiner (sanal) ksmlar i veya j ekini alr. i veya j ile gosterimlerinde bir fark yoktur. (1+3i veya 1+3*i veya 1+i*3 ama 1+i3) / 1+sqrt(3)*j / -5i Matlabde tm saylar, yaklak 2.10308 ve 2.10-308 arasnda deiir.

MATLAB PROGRAMLAMA
Bilgisayar programlamasnda genel olarak belirli kalp ve kurallara uyulur. Bir bilgisayar yazlmnn oluturulmasnda genel olarak aada sralanan prosedre uyulur:
Problemin tanm (Ne-Niin) zm ynteminin ve admlarnn belirlenmesi (algoritma: ak emalar veya pseudo-kod) Kodlama (Programlama diline evirme) Snama (Program altrma) Belgeleme ve Gncelletirme

10

MATLAB PROGRAMLAMA
Matlabde programlama en genel olarak iki yolla yaplr:
- Komut satrnda (in-line) programlama - m-dosyalaryla (m-files) programlama

m-dosyalarnn da iki tr vardr:


- Dzyaz (script) m-dosyalar
- Fonksiyon (function) m-dosyalar

m dosyalar oluturabilmek iin bir metin editrne ihtiya vardr. Bu editr Matlabde Editor/Debugger ortamdr.
11

MATLAB GRAFK
Matlab, 2D ve 3D bata olmak zere ok gelimi grafik aralar sunar: izgi (line) grafikler (plot, plot3, polar)
Yzey (surface) grafikler (surf, surfc) A (mesh) grafikler (mesh, meshc, meshgrid) Contour grafikler (contour, contourc, contourf) ubuk (bar), pasta (pie) vb zel grafikler (bar, bar3, hist, rose, pie, pie3) Animasyonlar (moviein, movie vb komutlar)

12

MATLAB 3D-GRAFK
BOYUTLU GRAFKLER boyutlu (3D) grafikler, temel olarak iki boyutlu (2D) grafiklere nc boyutun yani z-ekseninin eklenmesi ile elde edilir. Matlab 3D grafik konusunda ok gelimi imkanlar sunar.
3D izgi grafikler - boyutlu uzayda izgi grafikleri izer. (plot3) 3D a grafikler - boyutlu uzayda tel ereveli yzeyler izer. (mesh, meshc, meshz, waterfall) 3D yzey grafikler - boyutlu uzayda mesh gibi renkle doldurulmu patch izer. (surf, shading, surfc, surfl, surfnorm) 3D halka grafikler - contour3, contourf, shading, clabel. 3D hacim grafikler - boyutlu veri setlerinin gsteriminde kullanlr. Komut: slice, isosurface, smooth3, isocaps, isonormals. 3D zelletirilmi grafikler - boyutlu veri setlerinin gsteriminde kullanlr. Komut: ribbon, quiver, quiver3, fill3, stem3, sphere, cylinder.

13

MATLAB 3D-GRAFK
3D izgi Grafii: X = [10 20 30 40];Y = [10 20 30 40];Z = [0 230 75 600]; plot3(X,Y,Z); grid on; xlabel('x-ekseni'); ylabel('y- ekseni'); zlabel('z- ekseni'); title('c boyutlu bir dogru');

z=x2+y2 ile tanml 3D parabol grafii: x = [-10 : 1 : 10]; y = [-10 : 5 : 10]; [X, Y] = meshgrid(x,y); Z = X.^2 + Y.^2; % boyutlu parabol mesh(X,Y,Z); xlabel('x-ekseni'); ylabel('y- ekseni'); zlabel('z- ekseni');

14

MATLAB 3D-GRAFK
t = -2*pi:pi/100:2*pi; [x,y,z] = cylinder(cos(t),20); mesh(x,y,z) axis off

t = 0:pi/10:2*pi; [X,Y,Z] = cylinder(2+cos(t)); surf(X,Y,Z)


15

MATLAB-EXCEL Veri Transferi


D Ortam Veri lemi
Bir Excel (.xls) veri dosyas veya .txt ya da .dat dosyas Matlab ortamndan okunabilir ve zerinde Matlab ilemleri uygulanabilir. Benzer olarak bir Matlab program k da .xls olarak kaydedilebilir. - Excel: degisken =xlsread(xxx.xls) - x=degisken(:,1); %1. stun - y=degisken(:,2); %2. stun - .txt veya .dat : load xxx.txt - x=xxx(:,1); %1. stun - y=xxx(:,2); %2. stun

16

MATLAB TOOLBOX
MATLAB, toolbox olarak adlandrlan bir ok eklenti yazlm modllerine sahiptir. Toolboxlar zelletirilmi hesaplamalar yapar. rnek olarak:
Signal Processing Image Processing Data Acquisition Curve Fitting Wavelet Control System Fuzzy Logic Neural Network -Analysis and Synthesis Financial Model Predictive Control

17

x dx
2

x3 3

MATLAB SYMBOLIC TOOLBOX


sembolik k
1

Symbolik kelimesinin anlam:

x 2 dx

x3 3

x3 x dx 3
2

1 3

nmerik k

Matlabde sembolik ilemler yapmak iin sembolik deikenler syms a b x komutu ile atanr.

18

MATLAB SYMBOLIC TOOLBOX


Sembolic ntegral lemi:
Sembolik integral alma fonksiyonu int olup genel format: int(S), Sin belirsiz integralini alr. int(S,v), Sin vye gre belirsiz integralini alr. int(S,a,b),Sin varsaylan sembolik deikene gre adan bye kadar belirli integralini alr. int(S,a,b,v),Sin vye gre adan bye kadar belirli integralini alr. eklindedir.
(2 x 5 4 x 20)dx
syms x int(-2*x^5-4*x+20) ans = -1/3*x^6-2*x^2+20*x
19

MATLAB SYMBOLIC TOOLBOX


Sembolik Trev lemi:
Trev alma ileminde kullanlan fonksiyon ad diff olup sembolik ilem mant erevesinde genel format: diff(S), Sin trevini alr. diff(S,v), Sin vye gre trevini alr. diff(S,n), n pozitif bir tamsay olmak zere n. dereceden trevini alr. diff(S,'v',n) veya diff(S,n,'v'), Sin vye gre n. dereceden trevini alr. eklindedir. Trevin x=pdeki deerini bulmak iin subs(turev,x,p) f(x)=5x3+ax2+bx -14 (a ve b sabit deerdir) fonksiyonunun trevini bulunuz. syms a b c x f=5*x^3+a*x^2+b*x-14; diff(f) ans = 15*x^2+2*a*x+b
20

10

MATLAB SYMBOLIC TOOLBOX


Denklem Sistemlerinin zm:
solve fonksiyonu, cebirsel denklemlerin sembolik zmn verir. Genel format: solve('denk1','denk2',...,'denkN') eklindedir.

f(x)=x2-x-6 fonksiyonun zm kmesini bulunuz. >> solve('x^2-x-6') veya >> syms x, solve(x^2-x-6) ans = [ -2] [ 3] Yani ={-2,3} bulunur.
21

MATLAB SYMBOLIC TOOLBOX


x2+xy+y=3 x2-4x+3=0 denklem sisteminin zm kmesini bulunuz.
[x,y] = solve('x^2 + x*y + y = 3','x^2 - 4*x + 3 = 0') x= [ 1] [ 3] y= [ 1] [ -3/2] ={ (1,1) , (3,-3/2) }

22

11

dy = 1+ y 2 dt

MATLAB SYMBOLIC TOOLBOX


Diferansiyel Denklem zm

dy = 1+ y 2 dt

diferansiyel denklemini znz.

dsolve('Dy=1+y^2') ans = tan(t+C1) y(0)=0, y'(0)=0 artlar altnda y''+6y'+13y=10sin5t ikinci dereceden diferansiyel denklemin zmn bulunuz. Q=dsolve('D2y+6*Dy+13*y=10*sin(5*t)','y(0)=0','Dy(0)=0','t') pretty(simple(Q)) 25 10 25 125 - -- cos(5t) - -- sin(5t) + -- exp(-3t)cos(2 t) + --- exp(-3t)sin(2t) 87 87 87 174
23

MATLAB SYMBOLIC TOOLBOX


cosx fonksiyonunu 9. terime kadar Taylor serisine anz. f=cos(x) T=taylor(f,9) T= 1-1/2*x^2+1/24*x^4-1/720*x^6+1/40320*x^8
1 1 22 1 32 1 42 ... 1 n2

serisinin ilk 10 terim toplamn bulunuz.

seri_top=symsum(1/k^2,1,10) seri_top = 1968329/1270080 eklinde Laplace formatnda verilen transfer fonksiyonun t-domeni karln bulunuz. T = 200/((s+10)*(s^2 + 4*s + 24)); t_domen = ilaplace(T); pretty(t_domen)
( s + 10 )( s 2 + 4s + 24 ) T( s ) = 200

50exp(-10t) - 50exp(-2t)cos(2 51/2 t) + 40exp(-2t)51/2 sin(2 51/2 t) 21 21 21

24

12

MATLAB GUI
Graphical User Interface (Grafik Kullanc Arayz) Visual-C veya Basic gibi grsel programlama dilleri gibi GUI ile de grsel amal (Dmeler, Yaz Alanlar, Menler ile) programlar yazrlayabilirsiniz. GUIde hem Figure penceresi (.fig) hem de m-dosya (.m) programlamas vardr. Komut satrna guide yazarak GUI editrn aabilirsiniz. Grafik ilemleri iin gelitirilmi GUI arayz >>funtool dr

25

MATLAB SMULNK
En geni kapsam ile benzetim (Simulation), gerein temsil edilmesi demektir. Gnmzde iletmelerin tm ihtiya ve faaliyet alanlarnda kullanlan benzetim teknii; bilgisayar kullanmn gerekli klan matematiksel bir model aracl ile gerek bir sistemin temsil edilmesini salayan bir tekniktir. Komut satrna simulink yazarak ya da ara ubuundan tklayarak aabilirsiniz.

26

13

MATLAB SMULNK
Denklem Modelleme: Santigrat dereceden fahrenhayta dnm yapan bir denklemin modellenmesi
Modeli kurmak iin belirtilen bloklar alarak aadaki modeli kurulur: 1.Sources library Ramp block 2.Math library Gain ve Sum block 3.Sinks library Scope ve Display block

27

MATLAB SMULNK
Srekli Sistem Modellemesi: Fiziksel bir sistemin dinamik modellemesi

Burada x ve u, zamann fonksiyonlardr.u(t) , genlii= 1; frekans=1 radian/sec olan bir kara dalgadr. Zaman domeninde sistemin modeli ve cevab aada gsterilmitir.

28

14

MATLAB GUI+SMULNK

29

Kaynak MATLAB Klavuzu Dr. Aslan nan Papatya Yaynclk

15