Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

MATLAB www.mathworks.com jelenleg 6.5-ös változat (R13) ELTE: R12, Loviban elérhető műszaki számítások, algoritmus fejlesztés és tesztelés, szimulációk,

Hasonló előadás


Az előadások a következő témára: "MATLAB www.mathworks.com jelenleg 6.5-ös változat (R13) ELTE: R12, Loviban elérhető műszaki számítások, algoritmus fejlesztés és tesztelés, szimulációk,"— Előadás másolata:

1 MATLAB jelenleg 6.5-ös változat (R13) ELTE: R12, Loviban elérhető műszaki számítások, algoritmus fejlesztés és tesztelés, szimulációk, tudományos munkák grafikai munkái, adatfeldolgozás

2 MATLAB történet MATrix LABoratory eredetileg nagy FORTRAN könyvtárak felé szánták egyszerűen használható felületnek klónjai elérhetők más platformokon is –(pl. Linux: octave)

3 MATLAB elemei nyelv fejlesztői környezet (IDE) –editor, futtató környezet (parancssor), hibakövetés függvénykönyvtár grafikus rutinok toolboxok help

4 A MATLAB nyelve Fortran, C rokona alapvetően interpetált nyelv, bár lehet fordítani (  lassú) kommunikáció lehetősége más nyelvek felé egyszerű és gyorsan megtanulható, de nagy programok írására nem alkalmas (max. pár 100 soros programok)

5 A MATLAB nyelve mátrix-manipulációs nyelv a legfontosabb (és szinte egyetlen) adatstruktúra a mátrix nincsenek pointerek és összetett memória-kezelés, a hivatkozott változók automatikusan allokálódnak egy ún. workspace-ben (ezt közvetlenül elérhetjük a parancssorból) clear, who, whos, save, load, ans változó megjelenítés: beírni változó nevét (; nélkül).mat file-ok

6 Adatstruktúrák: mátrix megadás: –A = [ 1 2 3; 4 5 6]; –B = [ 3 4; 6 7]; –C = [A B]; konstrukciós függvények: rand, randn, zeros, ones, magic, … elemre hivatkozás: –A(2,3) (1-től N-ig !!!)

7 Mátrixok II. részmátrixra hivatkozás: –A (1:3, 3:2:10); –A (:, 10); –A(end, 5:end); törlés: A(5,:) = []; értékadással túlindexelni lehet (automatikusan bővül), de lekérdezni nem egy dimenziójában 1 széles mátrix: vektor (tömb), iránynak a tömbön operáló függvényeknél (pl. length) nincs jelentősége

8 Más adatstruktúrák több dimenziós mátrixok „cell” tömbök: mátrixok rekordjai, indexelés {} operátorral szöveg: ‘szervusz’ (’ jelek között) rekord: S(3) = struct('nev',‘Kovacs Agi',... ‘pontszam',70);

9 Operátorok minden változó egy 1x1-es mátrix speciális értékek: Inf, NaN, komplex számokat ismeri +,-,* mátrixokon is úgy működik, ahogy elvárjuk.-os változatok: n = (0:9)'; pows = [n n.^2 2.^n] figyelni: = értékadás, == logikai vizsgálat ami nem C: ~= nem egyenlő, | logikai vagy, & logikai és, ~ negálás

10 Mátrix-manipulációk statisztika: cov, mean, std, var, min, max, sum, … lineáris algebra: ‘, inv, det, eig, diag, trace, norm, rank, lu, svd, … tulajdonságok: isempty, size, … átrendezések: permute, reshape, flipud, fliplr, sub2ind, ind2sub, sort, find …

11 Programok scriptek: nincs I/O változó és direktben a workspace-ben dolgoznak függvények: vannak I/O változóik és saját workspace-ben dolgoznak (de bizonyos változóik lehetnek globálisak).m file-ok: egy függvény – egy file (de egy.m file- ban lehetnek alfüggvények)

12 Függvények function [out1, out2] = függvénynév(input1, input2) Utána írt komment (%) megjelenik help-ként változó hosszúságú argumentumlista átadható (varargin és varargout) global, return

13 Programkonstrukciók: if if logikai_kif utasítások elseif logikai_kif utasítások else utasítások end

14 Programkonstrukciók: switch switch logikai_kif case érték1 utasítások case érték2 utasítások … otherwise utasítások end

15 Programkonstrukciók: ciklusok for változó = tól:köz:ig utasítások end while logikai_kif utasítások end break, continue

16 Haladó programozás legújabb MATLAB-ok támogatják az objektumelvű programozást (osztályok, öröklődés, új típusok és operátoraik) GUI készítés MATLAB-ból hívhatók C, Fortran és Java függvények a MATLAB is kínál fel API-t C és Fortran felé MATLAB.m file-okból C forrás és így önálló.exe készíthető (MATLAB compiler)

17 Az alap MATLAB függvénykönyvtára mátrixok és lineáris algebra (láttuk) polinomok (pl. gyökök keresése) interpoláció (pl. köbös spline-ok) geometriai algoritmusok (pl. voronoi-diagram) adat- és jelfeldolgozás (pl. illesztés, FFT) numerikus analízis (pl. integrálás, differenciálegyenletek) ritka mátrixok és műveleteik

18 Toolbox-ok Data Acquisition TB Database TB Image Processing TB Neural Network TB Optimization TB PDE TB Signal Processing TB Spline TB Statistics TB Symbolic Math TB (Maple) Wavelet TB

19 Mire jó és mire nem? kutatómunka során ritka a „klasszikus” programfejlesztés, legtöbbször gyorsan kell ellenőrizni egy ötletet, egy algoritmust, írni egy egyszerű szimulációt stb. Nagy programok írására nem ajánlott és nem is alkalmas (relatíve rossz újrafelhasználás, tervezhetőség stb.)

20 II. rész: MATLAB Grafika vektorokban tárolt adatok megjelenítése: plot parancs x = 0:pi/100:2*pi; y = sin(x); plot(x,y) y2 = sin(x-.25); y3 = sin(x-.5); plot(x,y,x,y2,x,y3)

21 A plot parancs Stílusok megadása: plot(x,y,’c’); plot(x,y,’k:’); plot(x,y,’+’); 'c', 'm', 'y', 'r', 'g', 'b', 'w', 'k‘ vonalstílusok: '-', '--', ':', '-.', 'none‘ markerek: –'+', 'o', '*', 'x‘ –'s' (square), 'd‘ (diamond), '^' (up triangle), 'v' (down triangle), '>' (right triangle), '<' (left triangle), 'p' (pentagram), 'h' (hexagram), ‘none’

22 Ábrák figure azonosítóval: figure(14) plot és sok más utasítás alapértelmezésben új képet nyit a kurrens kép rögzítése („rárajzolás”): hold on, kikapcsolása hold off törlés: clf

23 Több ábra egy képen subplot(X_max, Y_max, index); t = 0:pi/10:2*pi; [X,Y,Z] = cylinder(4*cos(t)); subplot(2,2,1); mesh(X) subplot(2,2,2); mesh(Y) subplot(2,2,3); mesh(Z) subplot(2,2,4); mesh(X,Y,Z)

24 Tengelyek axis auto (alapértelmezés) axis([xmin xmax ymin ymax]) axis square axis equal (tick-ek egyenlő közökre lesznek) axis on; axis off axes(!): tengely készítése tetszőleges pozícióban

25 Feliratozás title, xlabel, ylabel, legend, text korlátozottan felismeri a LATEX formátumú szimbólumokat

26 MATLAB grafikai objektumok minden objektumhoz (képhez, tengelyhez, szöveghez, vonalhoz, stb.) tartozik egy handle ezt többnyire az objektum létrehozó függvénye adja vissza ezen keresztül az objektum tulajdonságai elérhetők és a beállítható tulajdonságok lekérdezhetők: set, get gcf, gca, findobj h = gca; set(h,’LineWidth’, 3);

27 Objektumok tulajdonságainak interaktív kezelése a képen kattintva property editor szöveg, nyilak, vonalak beszúrása, forgatás, nagyítás

28 Haladó szintű megjelenítés 2D: bar, area, colorbar, pie, histogram, stem, stairs, … 3D: mesh, surf, contour, slice, … vektormezők: compass, rose, feather, quiver térfogat megjelenítése: isosurface, coneplot, streamline, streamtube, streamribbon, …

29 Képek megjelenítése BMP, HDF, JPEG, PCX, PNG, TIFF, XWD formátumok kezelése megjelenítés: image, imagesc file I/O: imread, imwrite képek is mátrixként tárolódnak, mátrixok is megjeleníthetők képként colormap: színtér manipulálása (ez is mátrix, kép értékei indexek ebben a színtérben)

30 Animáció on-line (élő) off-line (képek elmentése animációs file-ba, majd később visszajátszás): getframe, movie az animációk elmenthetők.avi-ba: avifile

31 Következő óra Image Processing Toolbox Wavelet Toolbox


Letölteni ppt "MATLAB www.mathworks.com jelenleg 6.5-ös változat (R13) ELTE: R12, Loviban elérhető műszaki számítások, algoritmus fejlesztés és tesztelés, szimulációk,"

Hasonló előadás


Google Hirdetések