Professional Documents
Culture Documents
MA2005
MA2005
E-posta: inan@yildiz.edu.tr
Web: www.yildiz.edu.tr/~inan
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
- Haber grubu: matlabturk@yahoogroups.com
- Matlab Kursu: YT nsan Kaynaklar Gelitirme Merkezi
Web adresi: http://www.ikgm.yildiz.edu.tr
Tel: (0.212) 259 7070 / 2788
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
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
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
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 Semineri-2005
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
Saylar (Numbers)
Deikenler (Variables)
leler (Operators)
Fonksiyonlar (Functions)
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
Matlab Semineri-2005
11
12
13
14
15
16
+
*
/
\
^ (s alma, ab) : 2^3
(Tek trnak aras) : Ali (Metin girilerinde kullanlr)
: Transpoze
( ) : 2*(3-4) (lem srasn belirler)
( ) : sin(x)
[ ] : Dizi gsteriminde kullanlr.
= : x=3
== : x==K
? : Programn ileyiini etkilemeyen aklama satrlarn gsterir.
! : DOS moduna geer.
Aritmetik ilemlerde, ile ncelik sras (precision) vardr.
Matlab Semineri-2005
17
mak(maksimum), sin(sinus)
18
MATLAB DZLER
DZLER
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
MATLAB DZLER
1 2
A= 3 4
5 6
b=[1 2 3 4]
1
c= 3
5
A(2,1)=3
Satr #
b(3)=3
c(2)=3
Stun #
Matlab Semineri-2005
21
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
22
F11
F21
F ... . . ...
... . . ...
F F
m1 m2 . Fmn mxn
MATLAB DZLER
Matrisler
23
MATLAB DZLER
Hem vektrler hem de matrisler Utility fonksiyonlar
(zeros,ones ve rand) kullanarak da oluturulabilir:
24
MATLAB DZLER
Dizilere fonksiyonlar uygulama:
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
MATLAB PROGRAMLAMA
Matlabde programlama en genel olarak iki yolla yaplr:
- Komut satrnda (in-line) programlama
- m-dosyalaryla (m-files) programlama
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)
28
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.
30
MATLAB PROGRAMLAMA
leler e ayrlr: Aritmetik, ilikisel ve mantksal
likisel leler:
<
<=
>
>=
==
~=
Kktr
Kk eittir
Byktr
Byk eittir
Eittir
Eit deildir
Mantksal leler:
~
&
|
NOT (deil)
AND (ve)
OR (veya)
Matlab Semineri-2005
31
MATLAB PROGRAMLAMA
ART DEYMLER (CONDITIONAL STATEMENTS)
if (eer)
else (baka)
elseif (eerbaka)
(1 art)
(2 art)
(n art)
if mantksal ifade
deyim
end
if mantksal ifade
deyim 1
else
deyim 2
end
Matlab Semineri-2005
if mantksal ifade 1
deyim 1
elseif mantksal ifade 2
deyim 2
32
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/3r3)
hesaplayan bir program yaznz?
elemanter yntem:
for yntemi:
while yntemi:
r=1:5;
vol=(4/3)*pi*r.^3;
disp([r ; vol]')
for r=1:5
vol=(4/3)*pi*r^3;
disp([r, vol])
end
r=0;
while r<5
r=r+1;
hac=(4/3)*pi*r^3;
disp([r, hac])
end
Matlab Semineri-2005
34
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
MATLAB 2D-GRAFK
Color (Renk)
Indicator
Indicator
Blue (Mavi)
Green (Yesil)
Red (Kirmizi)
Cyan (Turkuaz)
Magenta (Mor)
Yellow (sari)
Black (Siyah)
White (Beyaz)
b
g
r
c
m
y
k
w
-:
-.
Matlab Semineri-2005
Indicator
.
+
*
o
x
s
d
v
^
<
>
p
h
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
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)
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
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');
Matlab Semineri-2005
42
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)
Matlab Semineri-2005
43
44
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
sembolik
k
x3
x dx
3
2
x 2 dx
x
3
1
3
nmerik k
Matlab Semineri-2005
46
syms x
int(-2*x^5-4*x+20)
ans =
-1/3*x^6-2*x^2+20*x
Matlab Semineri-2005
47
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
Matlab Semineri-2005
48
49
Matlab Semineri-2005
50
dy
= 1+ y 2
dt
Diferansiyel Denklem zm
51
1
2
1
3
1
4
...
1
n
seri_top=symsum(1/k^2,1,10)
seri_top =
1968329/1270080
Matlab Semineri-2005
52
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
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
Matlab Semineri-2005
56
MATLAB GUI+SMULNK
Matlab Semineri-2005
57