Professional Documents
Culture Documents
Matlab Giris
Matlab Giris
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 Semineri-2005
MATLAB TANITIM
- Matlab, ABD meneli The Mathworks Inc. Natick, MA irketinin tescilli addr. Web adresi: http://www.mathworks.com - Matlabin Trkiye temsilcisi Bursa merkezli Figes firmasdr. Web adresi: http://www.figes.com.tr
Matlab Semineri-2005
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, ..
Matlab Semineri-2005 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.
Matlab Semineri-2005 5
MATLAB TANITIM
Matlab ve eitli disiplinlerde kullanm zerine tm dillerde yzlerce kitap yazlmtr. 1. MATLAB ve PROGRAMLAMA, Dr. Aslan NAN, Papatya Yaynclk, 2004. 2. Matlab 7.04 Simulink ve Mhendislik Uygulamalar, Alfa Yaynlar, Uur Arifolu, 2005. 3. Matlab le Risk Ynetimi, Trkmen Kitapevi, Yrd. Do. Dr. Uzunolu M./ alar Onar/ Ali Kzl/ Turgay Geer/ A. Kvan Eren, 2005. 4. Matlab ve Simulink'le Modelleme / Kontrol I , Derleyen: Zafer Bingl, Birsen Yaynevi, 2005, 5. Matlab ile Matematiksel Uygulamalar ve Mhendislik Uygulamalar, Mithat Uysal, Beta, 2004. 6. Mhendislik ve Fen Uygulamalaryla Matlab, mer Gndodu - Osman Kopmaz - M. Akif Ceviz, Paradigma Akademi,2003. 7. Her Yn ile MATLAB, Yrd. Do. Dr. Mehmet Uzunolu,mer alar Onar,Ali Kzl, Trkmen Kitapevi, 2003. 8. MATLAB 6.x GUI: Kullanc Arayz Tasarm, Niyazi Ari & Bilal Barkana,Osman Gazi niv. Basmevi, 2003. 9. MATLAB Klavuzu, Niyazi Ari & Bilal Barkana, Osman Gazi niv. Basmevi, 2003. 10. MATLAB 6.5, A. Emre etin, Alfa Yaynlar, 2003. 11. renciler iin MATLAB, Doan brahim, Bileim Yaynclk,2000. 12. Her Ynyle Enstrmantasyon ve lme (LabVIEW ve MATLAB ile,Cihan Gerek,Aydn Bodur, Gkhan Diner, Era Bilgi Sistemleri Yaynclk, 2001. 13. MATLAB ile Mhendislik Sistemlerinin Analizi ve zm, brahim Yksel, VPA , 2000. 14. Lineer Cebir ve Matlab Uygulamalar, S.Aynur Uysal ve Mithat Uysal, Beta, 2000.
Matlab Semineri-2005 6
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 Excel Matlab - Matlab Web-Server - xPC Target ve xPC Target Embedded - Stateflow, Real-Time Workshop, Real-Time Windows Target
Matlab Semineri-2005 7
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. (rnein ana program 781dr ve her bir modl ve toolboxn da ayrca bir fiyat vardr)
(http://www.figes.com.tr/tr/urunler/matlab/files/MATLAB_Akademik_Fiyat_Listesi.pdf)
Matlab Semineri-2005
Matlab Semineri-2005
rnek olarak >> x=4*sqrt(5) x= 8.9443 ifadesinde x deiken , 4 say , * ile , sqrt, fonksiyondur. Bir ifade = iareti ile bir deikene atanmam ise Matlab otomatik olarak sonucu, ans (answer) ad verilen zel bir deikende saklar.
Matlab Semineri-2005
10
Bir ifadenin sonuna ; iareti eklediinizde ekrana yazlmaz. Birden fazla ifade tek satrda aralarna , ya da ; koyarak yazlabilir. Yazmda boluk says etkisizdir. Sadece ilgili deiken adn yazarak o deikeni arabilirsiniz.
Matlab Semineri-2005
11
MATLAB DZLER
DZLER
Dizi, en genel matematiksel tanm ile nmerik ve metinsel deerler topluluudur. Matlabde herey bir dizi olarak ileme konur ve en temel veri elemandr.
Reel ile kompleks saylar ifade eden iftkat veya nmerik diziler (double veya numeric array) Metin ifade eden diziler (char array) Hcre diziler (cell veya struct array)
Matlab Semineri-2005
19
MATLAB DZLER
Bir nmerik dizi, skaler, vektr veya matris olabilir ve tm nmerik diziler double array formatndadr. 1x1 dizisi, bir skaler (scaler) gsterir. (a=3,b=-6.5) mx1 veya 1xn dizisi, bir vektr (vector) gsterir. mxn veya nxm dizisi,bir matris (matrix) gsterir. Bu erevede 1x1 dizisi sabit matris veya tek elemanl matris, nx1dizisi stun matrisi ve 1xn dizisi ise satr matrisi olarak da dnlebilir. Bir dizinin eleman says, satr ile stun saysnn arpmdr.
Matlab Semineri-2005 20
10
MATLAB DZLER
1 2 A= 3 4 5 6 b=[1 2 3 4] 1 c= 3 5 A(2,1)=3
Satr # Stun #
21
3x2 matrix 6 eleman 1x4 array 4 eleman, satr vektr 3x1 array 3 eleman, stun vetr
b(3)=3
c(2)=3
Matlab Semineri-2005
MATLAB DZLER
Vektrler
1xn veya mx1 eklinde tek boyutlu dizi olan vektrleri oluturmann iki temel yolu vardr:
i) Direkt olarak ( [] ile)
satr vektrleri: >> f = [f1 f2 f3 ... fn] / >> f = [f1, f2, f3, ..., fn] stun vektrleri: >> f = [f1; f2; f3; ...; fn]
ii) Eit aralkl elemanlar kullanarak (: ile) f = lkDeer : DeiimMiktar : SonDeer Deiim miktar belirtilmezse lkDegerden sonra 1er er artm olacan ifade eder.
Matlab Semineri-2005
22
11
F11 F12 .... F1n F21 F22 .... F2n F ... . . ... ... . . ... Fm 1 Fm 2 . Fm n mxn
MATLAB DZLER
F11 F12 .... F1n F21 F22 .... F2n
Matrisler
... ...
. .
. ... . ...
Fm 1 Fm 2 . Fm n mxn
Matrisleri oluturmann en temel yolu [] kullanmaktr. mxn boyutundaki bir matrisin genel format:
F = [F11 F12 ... F1n ; F21 F22 ... F2n ; ..... ; Fm1 Fm2 ... Fmn] veya F = [F11, F12, ... , F1n ; F21, F22, ... , F2n ; ..... ; Fm1, Fm2, ... , Fmn]
Matlab Semineri-2005 23
MATLAB DZLER
Hem vektrler hem de matrisler Utility fonksiyonlar (zeros,ones ve rand) kullanarak da oluturulabilir: zeros(1,n) veya zeros(n,1) zeros(n) zeros(n,m) zeros(size(kd)) ones(1,n) veya ones(n,1) ones(n) ones(n,m) ones(size(kd))
Matlab Semineri-2005 24
12
MATLAB DZLER
Dizilere fonksiyonlar uygulama:
length(kd): kd dizisinin eleman saysn yani uzunluu size(kd): kd dizisinin boyutu sum(kd): kd vektrnn eleman toplam sum(A): A matrisinin stun bana eleman toplam
kd(n): kd dizisinin n. eleman deeri A(n,:): A matrisinin sadece n. satr A(:,n): A matrisinin sadece n. stunu A: A matrisinin transpozesi yani devrii
det(A): A matrisinin determinant inv(A) : A matrisinin tersi diag(A): A matrisinin ana diagonel (apraz) elemanlar [v,d]=eig(A): A matrisinin zvektrleri ve zdeerleri Elemanter ilemler eleman elaman ilem demektir ve . leci kullanlr: arpma: .* , Blme: ./ , s alma: .^
Matlab Semineri-2005 25
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
Matlab Semineri-2005
26
13
MATLAB PROGRAMLAMA
Matlabde programlama en genel olarak iki yolla yaplr:
- Komut satrnda (in-line) programlama - m-dosyalaryla (m-files) programlama
m dosyalar oluturabilmek iin bir metin editrne ihtiya vardr. Bu editr Matlabde Editor/Debugger ortamdr.
Matlab Semineri-2005 27
MATLAB PROGRAMLAMA
Bir program genelde aamadan oluur:
- Giri Deikenleri / lemler / k Gsterimi (k iin genelde disp ve fprintf fonksiyonlar kullanlr.)
Boluk verme:
- disp (' ') veya fprintf (' \n ')
Metinsel k:
- disp ('metin') veya fprintf ('metin)
- disp (['metin ' num2str(degisken) ]) - fprintf ('metin %a.bX \n,degisken) Burada; a: saynn (en az) toplam hane saysn,b: saynn (en fazla) ondalk hane saysn X: saynn formatn gsterir.d: tamsay, f: kayan nokta, e: stel, g: en ksa form
Matlab Semineri-2005 28
14
MATLAB PROGRAMLAMA
Fonksiyonlarn genel yazm format
function [out1,out2,... ,outN] = fonksiyon_ad (in1,in2,...,inM)
Matlab Semineri-2005
29
MATLAB PROGRAMLAMA
m-dosyalarn listeleme
what komutu: Geerli dizindeki yani varsaylan alma klasrndeki tm dosyalar listeler. dir komutu: Geerli dizindeki sizin tanmladnz dosyalar listeler. lookfor komutu: Bulmak istediiniz bir anahtar kelimenin getii mdosyalarn listeler.
15
MATLAB PROGRAMLAMA
leler e ayrlr: Aritmetik, ilikisel ve mantksal likisel leler:
< <= > >= == ~= ~ & | Kktr Kk eittir Byktr Byk eittir Eittir Eit deildir NOT (deil) AND (ve) OR (veya)
31
Mantksal leler:
Matlab Semineri-2005
MATLAB PROGRAMLAMA
ART DEYMLER (CONDITIONAL STATEMENTS)
if (eer)
(1 art)
else (baka)
(2 art)
elseif (eerbaka)
(n art)
if mantksal ifade 1 deyim 1 elseif mantksal ifade 2 deyim 2 elseif mantksal ifade n-1 deyim n-1 else deyim n end
32
Matlab Semineri-2005
16
MATLAB PROGRAMLAMA
DNGLER (LOOPS)
for Dngs Bir for (iin) dngnn genel format for dngdeikeni=ifade deyimler end
while Dngs Bir while (sresince veya iken) dngsnn genel format
while ifade deyimler end
Matlab Semineri-2005
33
MATLAB PROGRAMLAMA
Yarap deerleri 1,2,3,4,5 iin krenin hacmini (H=4/3 r3) hesaplayan bir program yaznz? elemanter yntem: r=1:5; vol=(4/3)*pi*r.^3; disp([r ; vol]') for yntemi: for r=1:5 vol=(4/3)*pi*r^3; disp([r, vol]) end while yntemi: r=0; while r<5 r=r+1; hac=(4/3)*pi*r^3; disp([r, hac]) end
Matlab Semineri-2005
34
17
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)
Matlab Semineri-2005
35
MATLAB 2D-GRAFK
2D Veri Grafikleri
x-y dik koordinat dzleminde grafik izmek iin plot(x,y) fonksiyonu kullanlr ve x vektrne kar y vektrnn grafiini verir. Yani x deerleri x-ekseninde, y deerleri y-ekseninde yer alr. izimin grnmn deitirmek isterseniz plot(x,y,s) fonksiyonu kullanlr. s argman, izimin rengini, iaretleyici semboln ve izgi tipini belirler. Bu argmann kullanm istee (sras ve says) baldr. Bu ilemi grafik zerinde de yapabilirsiniz.
Matlab Semineri-2005
36
18
MATLAB 2D-GRAFK
Marker symbol (Isaretleyici sembolu) Indicator Point (Nokta) Plus (Arti) Star (Yildiz) Circle (Daire) x-mark (x isareti) Square (Kare) Diamond (Elmas) triangle (down) (Asagi bakan ucgen) triangle (up) (Yukari bakan ucgen) triangle (left) (Sola bakan ucgen) triangle (right) (saga bakan ucgen) Pentagram (Besgen) Hexagram (Altigen) . + * o x s d v ^ < > p h
Color (Renk) Blue (Mavi) Green (Yesil) Red (Kirmizi) Cyan (Turkuaz) Magenta (Mor) Yellow (sari) Black (Siyah) White (Beyaz)
Indicator b g r c m y k w
Line style (Cizgi tipi) Solid (Duz cizgi) Dashed (Kesikli cizgi) Dotted (Noktali cizgi) Dash-dot (Kesikli-niktalicizgi)
Indicator -: -.
Matlab Semineri-2005
37
MATLAB 2D-GRAFK
Tek deikenli fonksiyon ( y=f(x) ) grafikleri
1.yol: izim aral belirlenir ve bu aralkta x deerleri girilir. Bu x deerlerine karlkl y deerleri bulunur ve plot(x,y) kullanlr. 2.yol: fplot(f(x),[xmin xmax]) veya ezplot (f(x)) (Grafii varsaylan -2*pi < x < 2*pi aralnda izer) fonksiyonlar kullanlr.
Matlab Semineri-2005
38
19
MATLAB 2D-GRAFK
oklu Grafikler
Birden fazla grafii (ayn x-ekseni baz olmak zere) st ste izmek iin rnein: x,y1,y2,.yn iin; 1.yol: plot(x,y1,x,y2,..x,yn) 2.yol: plot(x,y1), hold on, plot(x,y2,..x,yn) oklu grafii etiketlemek iin: 1.yol: Grafik zerinde metin ekleme yaplr. 2.yol: legend(1.grafikmetin,2.grafikmetin.) fonksiyonu kullanlr. Birden fazla grafii farkl pencerelerde (ayn veya farkl x-ekseni baz olmak zere) izmek iin subplot(m,n,p) fonksiyonu kullanlr. Bu fonksiyon matris dzeninde izim alan aar ve grafikler yine plot fonksiyonu ile izilir.
Matlab Semineri-2005 39
MATLAB 2D-GRAFK
subplot rnei: y=et,z=esint,w=yz grafiklerini alt alta iziniz.
subplot(3,1,1) t = 0:0.01:50; y = exp(t); plot(t,y) legend('e^{t+1}') subplot(3,1,2) z = sin(t); plot(t,z) legend('sin(t)') subplot(3,1,3) w = y.*z; plot(t,w) legend('e^{t+1}sin(t)')
Matlab Semineri-2005 40
20
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.
Matlab Semineri-2005
41
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');
Matlab Semineri-2005
42
21
MATLAB 3D-GRAFK
t = -2*pi:pi/100:2*pi; [x,y,z] = cylinder(cos(t),20); mesh(x,y,z) axis off
Matlab Semineri-2005
44
22
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
Matlab Semineri-2005
45
x 2 dx
x3 3
x3 3
x3 3
1
sembolik k
1 3
x dx
0
nmerik k
Matlabde sembolik ilemler yapmak iin sembolik deikenler syms a b x komutu ile atanr.
Matlab Semineri-2005
46
23
( 2x 5
4 x 20)dx
24
Matlab Semineri-2005
50
25
dy = 1+ y 2 dt
dy = 1+ y 2 dt
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
Matlab Semineri-2005 51
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
Matlab Semineri-2005 21 21
52
26
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
Matlab Semineri-2005
53
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.
Matlab Semineri-2005
54
27
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
Matlab Semineri-2005
55
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.
Matlab Semineri-2005
56
28
MATLAB GUI+SMULNK
Matlab Semineri-2005
57
29