MATLAB alapismeretek I. - uni-miskolc.hu
Transcript of MATLAB alapismeretek I. - uni-miskolc.hu
![Page 1: MATLAB alapismeretek I. - uni-miskolc.hu](https://reader031.fdocument.pub/reader031/viewer/2022012515/618f7c341574a6741c6112ac/html5/thumbnails/1.jpg)
MATLAB alapismeretek I.
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 0.
A MATLAB bemutatása
MATLAB filozófia
MATLAB modulok
A MATLAB felhasználói felülete
MATLAB tulajdonságok
Vektorok, mátrixok
Tömbök elemeinek megadása
A [ ] az összefűzés, konkatenáció operátora
Aritmetikai operátorok
Aritmetikai elemenkénti operátorok
![Page 2: MATLAB alapismeretek I. - uni-miskolc.hu](https://reader031.fdocument.pub/reader031/viewer/2022012515/618f7c341574a6741c6112ac/html5/thumbnails/2.jpg)
A MATLAB bemutatása
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 1.
• Mi a MATLAB?
• Mátrix alapú matematikai modellező és vizualizáló eszköz
programozási lehetőségekkel, numerikus számítások elvégzésére,
dokumentálására.
• Lehet e a MATLAB-nak ellenállni?
![Page 3: MATLAB alapismeretek I. - uni-miskolc.hu](https://reader031.fdocument.pub/reader031/viewer/2022012515/618f7c341574a6741c6112ac/html5/thumbnails/3.jpg)
MATLAB filozófia
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 2.
Az alap MATLAB (MATrix LABoratory) csak mátrixmanipulációs
eszközöket nyújt. A mai viszont már kész alkalmazási környezeteket
ad pl. arcfelismerő függvényekkel, neurális hálózatokkal, szimulációs
modellel, amelyben még meg lehet találni az alap MATLAB jellemzőit is –
ha nagyon keressük.
LEGO modulok LEGO Ninjago
70725 Nindroid
Mech Dragon
játék
![Page 4: MATLAB alapismeretek I. - uni-miskolc.hu](https://reader031.fdocument.pub/reader031/viewer/2022012515/618f7c341574a6741c6112ac/html5/thumbnails/4.jpg)
MATLAB modulok
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 3.
Az alap MATLAB
A modulok
![Page 5: MATLAB alapismeretek I. - uni-miskolc.hu](https://reader031.fdocument.pub/reader031/viewer/2022012515/618f7c341574a6741c6112ac/html5/thumbnails/5.jpg)
A MATLAB bemutatása ..
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 4.
• Akkor hát Mi a MATLAB?
• Egyre gyarapodó képességű professzionális matematikai
modellező eszköz mátrix adatszerkezet alapokon, programozási
lehetőségekkel, adatmegjelenítési képességekkel, mely
számtalan műszaki terület feladataira nyújt rugalmasan
alkalmazható és kombinálható félkész megoldást.
Képforrás: http://girlsdopoker.com/
![Page 6: MATLAB alapismeretek I. - uni-miskolc.hu](https://reader031.fdocument.pub/reader031/viewer/2022012515/618f7c341574a6741c6112ac/html5/thumbnails/6.jpg)
A MATLAB bemutatása ..
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 5.
• A mátrixok központban
• Majdnem minden mátrix. A skalár egy egyelemű mátrix. A
mátrixműveleteket kiemelkedően gyorsan végzi.
Képforrás: http://www.mathwarehouse.com/algebra/matrix//
http://code.tutsplus.com/tutorials/understanding-affine-transformations-with-matrix-mathematics--active-10884
![Page 7: MATLAB alapismeretek I. - uni-miskolc.hu](https://reader031.fdocument.pub/reader031/viewer/2022012515/618f7c341574a6741c6112ac/html5/thumbnails/7.jpg)
A MATLAB felhasználói felülete
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 6.
Képforrás: http://www.mathwarehouse.com/algebra/matrix//
http://code.tutsplus.com/tutorials/understanding-affine-transformations-with-matrix-mathematics--active-10884
Parancsablak
Current Folder Könyvtárak, m-fájlok
Command History Kiadott parancsok
Workspace Változók és értékeik
![Page 8: MATLAB alapismeretek I. - uni-miskolc.hu](https://reader031.fdocument.pub/reader031/viewer/2022012515/618f7c341574a6741c6112ac/html5/thumbnails/8.jpg)
MATLAB tulajdonságok
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 7.
• A típusok megadására nincs szükség
Forrás: İ.Yücel Özbek: Introduction to Matlab; Simon O’Keefe: Introduction to MATLAB; Harvard SEAS: Introduction to MATLAB
• A változók a megjelenésükkel kerülnek deklarálásra és egyéb
megadás hiányában automatikusan duplapontos valósak lesznek.
Más típusú érték értékül adása rákényszeríti az érték típusát.
Pontosvessző letiltja az érték kiírását.
>> a=33;
>> B2=12.45;
>> C= B2;
![Page 9: MATLAB alapismeretek I. - uni-miskolc.hu](https://reader031.fdocument.pub/reader031/viewer/2022012515/618f7c341574a6741c6112ac/html5/thumbnails/9.jpg)
Vektorok, mátrixok
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 8.
• Vektorelemek elválasztása szóközzel, vagy vesszővel
Forrás: İ.Yücel Özbek: Introduction to Matlab; Simon O’Keefe: Introduction to MATLAB; Harvard SEAS: Introduction to MATLAB
• Mátrix sorainak elválasztása pontosvesszővel
v = [ 9 8 4 1 ]
v =
9 8 4 1
m = [ 9 8; 4 1 ]
m =
9 8
4 1
• Transzponálás operátora az aposztróf
mt = m’ mt =
9 4
8 1
![Page 10: MATLAB alapismeretek I. - uni-miskolc.hu](https://reader031.fdocument.pub/reader031/viewer/2022012515/618f7c341574a6741c6112ac/html5/thumbnails/10.jpg)
Tömbök elemeinek tömör megadása
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 9.
• Egyesével növekvő tartomány
Forrás: İ.Yücel Özbek: Introduction to Matlab; Simon O’Keefe: Introduction to MATLAB; Harvard SEAS: Introduction to MATLAB
• Adott lépésközzel változó tartomány
v = 1:10
v =
1 2 3 4 5 6 7 8 9 10
w = -1: 0.5: 1
w =
-1 -0.5 0 0.5 1
• Sorok megadása tartománnyal
t = [0:3; 7:10]
t =
0 1 2 3
7 8 9 10
![Page 11: MATLAB alapismeretek I. - uni-miskolc.hu](https://reader031.fdocument.pub/reader031/viewer/2022012515/618f7c341574a6741c6112ac/html5/thumbnails/11.jpg)
Tömbök elemeinek megadása függvénnyel
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 10.
• Tömb feltöltése nullákkal
Forrás: İ.Yücel Özbek: Introduction to Matlab; Simon O’Keefe: Introduction to MATLAB; Harvard SEAS: Introduction to MATLAB
• Tömb feltöltése egyesekkel
v = zeros(1, 4)
v =
0 0 0 0
w = ones(2, 3)
w =
1 1 1
1 1 1
• Feltöltés egyenletes eloszlású véletlenszámokkal a (0, 1) intervallumból
r = rand(1, 2)
r =
0.1233 0.6342
![Page 12: MATLAB alapismeretek I. - uni-miskolc.hu](https://reader031.fdocument.pub/reader031/viewer/2022012515/618f7c341574a6741c6112ac/html5/thumbnails/12.jpg)
Tömbelemek indexelése
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 11.
• Adjunk meg egy mátrixot:
Forrás: İ.Yücel Özbek: Introduction to Matlab; Simon O’Keefe: Introduction to MATLAB; Harvard SEAS: Introduction to MATLAB
• A kezdőindex 1, indexek megadása ( )-ek között!
v = [1 2 3; 11 12 13]
v =
1 2 3
11 12 13
>> v(2, 3)
ans =
13
• Túlindexelés ??? Index exceeds matrix dimensions. hibát ad
>> v(2, :)
ans =
11 12 13
>> v(1, 2:3)
ans =
2 3
>> v(1:2, 3)
ans =
3
13
>> v(5)
ans =
3
![Page 13: MATLAB alapismeretek I. - uni-miskolc.hu](https://reader031.fdocument.pub/reader031/viewer/2022012515/618f7c341574a6741c6112ac/html5/thumbnails/13.jpg)
Tömbelemek indexelése ..
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 12.
• Adjunk meg egy mátrixot:
Forrás: İ.Yücel Özbek: Introduction to Matlab; Simon O’Keefe: Introduction to MATLAB; Harvard SEAS: Introduction to MATLAB
• Értékadás az elemeknek
v = [1 2 3; 11 12 13]
v =
1 2 3
11 12 13
>> v(2, 3)= 5
v =
1 2 3
11 12 5
>> v(2, :)= 5
v =
1 2 3
5 5 5
>> v(2, :)= [9 8 7]
v =
1 2 3
9 8 7
• Harmadik esetnél elemszámra ügyelni!
Oszlopfelülírás: >> v(:,1)= [6;6]
![Page 14: MATLAB alapismeretek I. - uni-miskolc.hu](https://reader031.fdocument.pub/reader031/viewer/2022012515/618f7c341574a6741c6112ac/html5/thumbnails/14.jpg)
Tömbelemek indexelése ..
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 13.
• Adjunk meg egy mátrixot:
Forrás: İ.Yücel Özbek: Introduction to Matlab; Simon O’Keefe: Introduction to MATLAB; Harvard SEAS: Introduction to MATLAB
• Nem teljes, vagy nem összefüggő tartomány indexelése: a kért
indexeket adjuk meg [ ]-ek között!
v = [1 2 3; 11 12 13]
v =
1 2 3
11 12 13
>> v(:, [1, 3])
v =
1 3
11 13
>> v(:, [1, 3])= 0
v =
0 2 0
0 12 0
![Page 15: MATLAB alapismeretek I. - uni-miskolc.hu](https://reader031.fdocument.pub/reader031/viewer/2022012515/618f7c341574a6741c6112ac/html5/thumbnails/15.jpg)
A [ ] az összefűzés, konkatenáció operátora
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 14.
• Eddig a [ ] zárójelpárral skalárokat fűztünk össze vektorrá. A [ ]
használható méretben illeszkedő tömbök összefűzésére is.
Forrás: İ.Yücel Özbek: Introduction to Matlab; Simon O’Keefe: Introduction to MATLAB; Harvard SEAS: Introduction to MATLAB
a = [1 2 ], b = [ 4 5 ], c = [66 77]
AB = [ a b ]
1 2 4 5
X = [a ;b ]
1 2
3 5
Y = [a b ; c ]
??? Error using ==> vertcat CAT arguments dimensions are
not consistent
![Page 16: MATLAB alapismeretek I. - uni-miskolc.hu](https://reader031.fdocument.pub/reader031/viewer/2022012515/618f7c341574a6741c6112ac/html5/thumbnails/16.jpg)
Aritmetikai operátorok
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 15.
Forrás: İ.Yücel Özbek: Introduction to Matlab; Simon O’Keefe: Introduction to MATLAB; Harvard SEAS: Introduction to MATLAB
+ Összeadás
- Kivonás
* Szorzás
/ Osztás
^ Hatványozás
‘ Transzponálás
• Az operátorok alkalmazhatók tömbökre is.
![Page 17: MATLAB alapismeretek I. - uni-miskolc.hu](https://reader031.fdocument.pub/reader031/viewer/2022012515/618f7c341574a6741c6112ac/html5/thumbnails/17.jpg)
Aritmetikai operátorok alkalmazása tömbökre
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 16.
Forrás: İ.Yücel Özbek: Introduction to Matlab; Simon O’Keefe: Introduction to MATLAB; Harvard SEAS: Introduction to MATLAB
>> A = [ 11 12 13; 21 22 23; 31 32 33]
A=
11 12 13
21 22 23
31 32 33
• Adott az A és B mátrix
>> B = [ 3 2 1; 12 12 11; 23 22 21]
B=
3 2 1
13 12 11
23 22 21
A+B A-B A*B A’
>> C = A+B
C=
14 14 14
34 34 34
54 54 54
>> C = A-B
C=
8 10 12
8 10 12
8 10 12
>> C = A*B
C=
488 452 416
878 812 746
1268 1172 1076
>> C = A’
C=
11 21 31
12 22 32
13 23 33
![Page 18: MATLAB alapismeretek I. - uni-miskolc.hu](https://reader031.fdocument.pub/reader031/viewer/2022012515/618f7c341574a6741c6112ac/html5/thumbnails/18.jpg)
Aritmetikai elemenkénti operátorok tömbökre
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 17.
Forrás: İ.Yücel Özbek: Introduction to Matlab; Simon O’Keefe: Introduction to MATLAB; Harvard SEAS: Introduction to MATLAB
.* Szorzás
./ Osztás
.^ Hatványozás
• Az operátorok azonos indexű elemek között végeznek műveleteket.
![Page 19: MATLAB alapismeretek I. - uni-miskolc.hu](https://reader031.fdocument.pub/reader031/viewer/2022012515/618f7c341574a6741c6112ac/html5/thumbnails/19.jpg)
Aritmetikai elemenkénti operátorok alkalmazása tömbökre
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 18.
Forrás: İ.Yücel Özbek: Introduction to Matlab; Simon O’Keefe: Introduction to MATLAB; Harvard SEAS: Introduction to MATLAB
>> x = [ 1 2 3]
x=
1 2 3
• Adott az A és B mátrix
.* ./ .^
>> b = x.*y
b=
3 8 -3
>> y = [ 3 4 -1]
y=
3 4 -1
>> b = x./y
b=
0.33 0.5 -3
>> b = x. ^ y
b=
1 16 0.33
b= x^2
Hiba:
??? Error using ==> mpower Matrix must be square.
b=x*y
Hiba:
??? Error using ==> mtimes Inner matrix dimensions must agree.