Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 0. MATLAB alapismeretek I. 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
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 1. A MATLAB bemutatása 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?
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 2. MATLAB filozófia 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
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 3. MATLAB modulok Az alap MATLAB A modulok
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 4. A MATLAB bemutatása.. 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/
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 5. A MATLAB bemutatása.. 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
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 6. A MATLAB felhasználói felülete Current Folder Könyvtárak, m-fájlok Workspace Változók és értékeik Parancsablak Command History Kiadott parancsok Képforrás: http://www.mathwarehouse.com/algebra/matrix// http://code.tutsplus.com/tutorials/understanding-affine-transformations-with-matrix-mathematics--active-10884
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 7. MATLAB tulajdonságok A típusok megadására nincs szükség 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;
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 8. Vektorok, mátrixok Vektorelemek elválasztása szóközzel, vagy vesszővel [ 9 8 4 1 ] 9 8 4 1 Mátrix sorainak elválasztása pontosvesszővel 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
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 9. Tömbök elemeinek tömör megadása Egyesével növekvő tartomány 1:10 Adott lépésközzel változó tartomány 1 2 3 4 5 6 7 8 9 10 w = -1: 0.5: 1 w = Sorok megadása tartománnyal -1-0.5 0 0.5 1 t = [0:3; 7:10] t = 0 1 2 3 7 8 9 10
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 10. Tömbök elemeinek megadása függvénnyel Tömb feltöltése nullákkal Tömb feltöltése egyesekkel zeros(1, 4) 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
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 11. Tömbelemek indexelése Adjunk meg egy mátrixot: [1 2 3; 11 12 13] 1 2 3 11 12 13 A kezdőindex 1, indexek megadása ( )-ek között! >> v(2, 3) >> v(2, :) >> v(1, 2:3) >> v(1:2, 3) >> v(5) ans = 13 ans = 11 12 13 ans = 2 3 ans = 3 13 ans = 3 Túlindexelés??? Index exceeds matrix dimensions. hibát ad
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 12. Tömbelemek indexelése.. Adjunk meg egy mátrixot: Értékadás az elemeknek [1 2 3; 11 12 13] 1 2 3 11 12 13 >> v(2, 3)= 5 1 2 3 11 12 5 >> v(2, :)= 5 1 2 3 5 5 5 >> v(2, :)= [9 8 7] 1 2 3 9 8 7 Harmadik esetnél elemszámra ügyelni! Oszlopfelülírás: >> v(:,1)= [6;6]
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 13. Tömbelemek indexelése.. Adjunk meg egy mátrixot: [1 2 3; 11 12 13] 1 2 3 11 12 13 Nem teljes, vagy nem összefüggő tartomány indexelése: a kért indexeket adjuk meg [ ]-ek között! >> v(:, [1, 3]) 1 3 11 13 >> v(:, [1, 3])= 0 0 2 0 0 12 0
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 14. A [ ] az összefűzés, konkatenáció operátora 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. 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
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 15. Aritmetikai operátorok + Összeadás - Kivonás * Szorzás / Osztás ^ Hatványozás Transzponálás Az operátorok alkalmazhatók tömbökre is.
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 16. Aritmetikai operátorok alkalmazása tömbökre Adott az A és B mátrix >> A = [ 11 12 13; 21 22 23; 31 32 33] A= 11 12 13 21 22 23 31 32 33 >> 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
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 17. Aritmetikai elemenkénti operátorok tömbökre.* Szorzás./ Osztás.^ Hatványozás Az operátorok azonos indexű elemek között végeznek műveleteket.
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 18. Aritmetikai elemenkénti operátorok alkalmazása tömbökre Adott az A és B mátrix >> x = [ 1 2 3] x= 1 2 3 >> y = [ 3 4-1] y= 3 4-1.*./.^ >> b = x.*y b= 3 8-3 >> 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.