Free Essay

Matlab Ders Notu

In:

Submitted By erdbaykan
Words 1728
Pages 7
MATLAB
Giriş
Mehmet Siraç ÖZERDEM
EEM - Dicle Üniversitesi
Bilgisayar Programlama

MATLAB TANITIM
MATLAB NEDİR?
MATLAB®(MATrix LABoratory – Matris Laboratuarı), temel olarak teknik ve bilimsel hesaplamalar için yazılmış yüksek performansa sahip bir yazılımdır. 1970’lerin sonunda Cleve Moler tarafından yazılan
Matlab programının tipik kullanım alanları:
– Matematiksel (nümerik ve sembolik) hesaplama işlemleri
– Algoritma geliştirme ve kod yazma yani programlama
– Lineer cebir,istatistik,Fourier analizi,filtreleme,optimizasyon,sayısal integrasyon vb. konularda matematik fonksiyonlar
– 2D ve 3D grafiklerinin çizimi
– Modelleme ve simülasyon (benzetim)
– Grafiksel arayüz oluşturma
– Veri analizi ve kontrolü
– Gerçek dünya şartlarında uygulama geliştirme

şeklinde özetlenebilir.

2

1

MATLAB TANITIM
- Matlab, ABD menşeli The Mathworks Inc. şirketinin tescilli adıdır.
Web adresi: http://www.mathworks.com
- Matlab’in Türkiye temsilcisi Bursa merkezli
Figes firmasıdır.
Web adresi: http://www.figes.com.tr

3

MATLAB TANITIM
MATLAB, matematik-istatistik, optimizasyon, neural network, fuzzy, işaret ve görüntü işleme, kontrol tasarımları, yöneylem çalışmaları, tıbbi araştırmalar, finans ve uzay araştırmaları gibi çok çeşitli alanlarda kullanılmaktadır. MATLAB, kullanıcıya hızlı bir analiz ve tasarım ortamı sağlar.
• Matlab programını C/C++ diline dönüştürebilir,
• 20. dereceden bir denklemin köklerini bulabilir,
• 100x100 boyutlu bir matrisin tersini alabilir,
• Bir elektrik motorunu gerçek zamanda kontrol edebilir,
• Bir otobüsün süspansiyon simülasyonunu yapabilirsiniz,
……..
4

2

MATLAB TANITIM
• Matlab, araştırma ve mühendislik alanlarında karşılaşılan problemlere pratik ve hızlı sonuçlar sunmaktadır.
• Bu nedenle Matlab, tüm dünyada binlerce endüstri, devlet ve akademik kurumlarda kullanılmaktadır. Özellikle tüm üniversitelerde yaygın olarak kullanılmaktadır.
• Matlab kullanıcı şirketler arasında
– Dünyada Boeing, DaimlerChrsyler, Motorola, NASA, Texas
Instruments, Toyota ve Saab vb,
– Ülkemizde ise Aselsan, Tofaş, Arçelik, Siemens, Alcatel, Garanti
Bankası, Deniz Kuvvetleri, vb..

şirketler verilebilir.
5

MATLAB TANITIM
Matlab programı altında kullanacağımız temel araçlar:
- Komut Penceresi

- Programlama (M-file  *.m)
- Grafik (Figure  *.fig)
- Grafik Arayüzlü Programlar (GUI  *.fig)
- Simulink (Model  *.mdl) ve Blockset Modülleri
- Toolbox (Araç Kutusu) Modülleri (Fuzzy, Neural,Statistic vb.)
- Microsoft ExcelMatlab
- Matlab Web-Server
- xPC Target ve xPC Target Embedded
- Stateflow, Real-Time Workshop, Real-Time Windows Target

6

3

MATLAB TANITIM
• Matlab programı lisanslı bir yazılımdır bu nedenle ücretli olarak satın alınmalıdır.
• Bir çok üstünlüklerine ve yaygın kullanım alanlarına oranla iki dezavantajı vardır:
Yavaş çalışır.
Fiyatı diğer eşdeğerlerine göre pahalıdır.

7

MATLAB TEMEL KULLANIM
Matlab Kullanımında Temel Kurallar:
• Programın dili ve yardım bilgileri tamamen ingilizcedir. • Komut temelli yazılımdır.
• Küçük-büyük harf ayrımı vardır. Dicle ve dicle farklı algılanır.
• » işareti komut prompt’udur.
• Komutlar Enter ile yürütülür.

8

4

MATLAB TEMEL KULLANIM
SAYILAR
• Ondalık sayılar 3.5 şeklinde gösterilir (0.65 yerine .65)
• Bilimsel notasyon gösterimi olan e (veya E) harfi 10’nun kuvvetini temsil eder.
2e4=2.104=2000 veya 1.65e-20=1.65.10-20 demektir.
• Kompleks sayılarda imajiner (sanal) kısımlar i veya j ekini alır. 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
• Matlab’de tüm sayılar, yaklaşık 2.10308 ve 2.10-308 arasında değişir.

9

MATLAB PROGRAMLAMA
Bilgisayar programlamasında genel olarak belirli kalıp ve kurallara uyulur. Bir bilgisayar yazılımının oluşturulmasında genel olarak aşağıda sıralanan prosedüre uyulur:
– Problemin tanımı (Ne-Niçin)
– Çözüm yönteminin ve adımlarının belirlenmesi
(algoritma: akış şemaları veya pseudo-kod)
– Kodlama (Programlama diline çevirme)
– Sınama (Programı çalıştırma)
– Belgeleme ve Güncelleştirme

10

5

MATLAB PROGRAMLAMA
• Matlab’de programlama en genel olarak iki yolla yapılır:
- Komut satırında (in-line) programlama
- m-dosyalarıyla (m-files) programlama

• m-dosyalarının da iki türü vardır:
- Düzyazı (script) m-dosyaları
- Fonksiyon (function) m -dosyaları

• m dosyaları oluşturabilmek için bir metin editörüne ihtiyaç vardır. Bu editör Matlab’de Editor/Debugger ortamıdır.
11

MATLAB GRAFİK
Matlab, 2D ve 3D başta olmak üzere çok gelişmiş grafik araçları sunar:
• Çizgi (line) grafikler (plot, plot3, polar)
• Yüzey (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

6

MATLAB 3D-GRAFİK
ÜÇ BOYUTLU GRAFİKLER
• Üç boyutlu (3D) grafikler, temel olarak iki boyutlu (2D) grafiklere üçüncü boyutun yani z-ekseninin eklenmesi ile elde edilir. Matlab 3D grafik konusunda çok gelişmiş imkanlar sunar.
– 3D çizgi grafikler - Üç boyutlu uzayda çizgi grafikleri çizer. (plot3)
– 3D ağ grafikler - Üç boyutlu uzayda tel çerçeveli yüzeyler çizer.
(mesh, meshc, meshz, waterfall)
– 3D yüzey 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 gösteriminde kullanılır.
Komut: slice, isosurface, smooth3, isocaps, isonormals.
– 3D özelleştirilmiş grafikler - Üç boyutlu veri setlerinin gösteriminde kullanılır. Komut: ribbon, quiver, quiver3, fill3, stem3, sphere, cylinder.

13

MATLAB 3D-GRAFİK


3D Çizgi Grafiği:
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 tanımlı 3D parabol grafiği: 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

7

MATLAB 3D-GRAFİK 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 ortamından okunabilir ve üzerinde Matlab işlemleri uygulanabilir. Benzer olarak bir Matlab program çıkışı da .xls olarak kaydedilebilir.
- Excel: degisken =xlsread(‘xxx.xls’)
- x=degisken(:,1); %1. sütun
- y=degisken(:,2); %2. sütun
- .txt veya .dat : load xxx.txt
- x=xxx(:,1); %1. sütun
- y=xxx(:,2); %2. sütun

16

8

MATLAB TOOLBOX
• MATLAB, toolbox olarak adlandırılan bir çok eklenti yazılım modüllerine sahiptir. Toolbox’lar özelleştirilmiş 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

Symbolik kelimesinin anlamı:



x 2 dx 

1


0

 sembolik çıkış x3
3

x3 x dx 
3

1



2

0

1
3

 nümerik çıkış

• Matlab’de sembolik işlemler yapmak için sembolik değişkenler syms a b x komutu ile atanır.

18

9

MATLAB SYMBOLIC TOOLBOX
Sembolic İntegral İşlemi:


Sembolik integral alma fonksiyonu int olup genel formatı:
– int(S), S’in belirsiz integralini alır.
– int(S,v), S’in v’ye göre belirsiz integralini alır.
– int(S,a,b),S’in varsayılan sembolik değişkene göre a’dan b’ye kadar belirli integralini alır.
– int(S,a,b,v),S’in v’ye göre a’dan b’ye kadar belirli integralini alır. ş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 Türev İşlemi:





Türev alma işleminde kullanılan fonksiyon adı diff olup sembolik işlem mantığı çerçevesinde genel formatı:
– diff(S), S’in türevini alır.
– diff(S,v), S’in v’ye göre türevini alır.
– diff(S,n), n pozitif bir tamsayı olmak üzere n. dereceden türevini alır.
– diff(S,'v',n) veya diff(S,n,'v'), S’in v’ye göre n. dereceden türevini alır. şeklindedir. Türevin x=p’deki değerini bulmak için » subs(turev,x,p) f(x)=5x3+ax2+bx -14 (a ve b sabit değerdir) fonksiyonunun türevini 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 Çözümü:


solve fonksiyonu, cebirsel denklemlerin sembolik çözümünü verir. Genel formatı: solve('denk1','denk2',...,'denkN') şeklindedir. •

f(x)=x2-x-6 fonksiyonun çözüm kümesini 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 çözüm kümesini 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 Çözümü


dy
= 1+ y 2 dt diferansiyel denklemini çözünüz.

» dsolve('Dy=1+y^2') ans = tan(t+C1) •

y(0)=0, y'(0)=0 şartları altında y''+6y'+13y=10sin5t ikinci dereceden diferansiyel denklemin çözümünü 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 açınız.
» 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 toplamını bulunuz.

» seri_top=symsum(1/k^2,1,10) seri_top =
1968329/1270080
T( s ) =

200




şeklinde Laplace formatında verilen transfer fonksiyonun t-domeni karşılığını bulunuz.
» T = 200/((s+10)*(s^2 + 4*s + 24));
» t_domen = ilaplace(T); » pretty(t_domen)




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

( s + 10 )( s 2 + 4s + 24 )

24

12

MATLAB GUI
• Graphical User Interface (Grafik Kullanıcı Arayüzü)
• Visual-C veya Basic gibi görsel programlama dilleri gibi GUI ile de görsel amaçlı (Düğmeler, Yazı Alanları, Menüler ile) programlar yazırlayabilirsiniz.
• GUI’de hem Figure penceresi (.fig) hem de m-dosya (.m) programlaması vardır.
• Komut satırına guide yazarak GUI editörünü açabilirsiniz.
• Grafik işlemleri için geliştirilmiş GUI arayüzü >>funtool ‘dır

25

MATLAB SİMULİNK
• En geniş kapsamı ile benzetim (Simulation), gerçeğin temsil edilmesi demektir. Günümüzde işletmelerin tüm ihtiyaç ve faaliyet alanlarında kullanılan benzetim tekniği; bilgisayar kullanımını gerekli kılan matematiksel bir model aracılığı ile gerçek bir sistemin temsil edilmesini sağlayan bir tekniktir.
• Komut satırına simulink yazarak ya da araç çubuğundan tıklayarak açabilirsiniz.

26

13

MATLAB SİMULİNK
Denklem Modelleme: Santigrat dereceden fahrenhayta dönüşüm yapan bir denklemin modellenmesi Modeli kurmak için belirtilen blokları alarak aşağıdaki modeli kurulur:
1.Sources library  Ramp block
2.Math library  Gain ve Sum block
3.Sinks library  Scope ve Display block

27

MATLAB SİMULİNK
Sürekli Sistem Modellemesi:
Fiziksel bir sistemin dinamik modellemesi

Burada x ve u, zamanın fonksiyonlarıdır.u(t) , genliği= 1; frekansı=1 radian/sec olan bir kara dalgadır. Zaman domeninde sistemin modeli ve cevabı aşağıda gösterilmiştir. 28

14

MATLAB GUI+SİMULİNK

29

Kaynak
MATLAB Kılavuzu
Dr. Aslan İnan
Papatya Yayıncılık

15

Similar Documents