SlideServe
Menu
Préférences
© SlideServe · v2026

MATLAB

adam-monroe avatar
31 diapositives · 495 Views · Nov 01, 2014

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, tudományos munkák grafikai munkái, adatfeldolgozás. MATLAB történet. MATrix LABoratory

MATLAB - slide 1
01 / 31MATLAB
1 / 17

Télécharger la présentation

MATLAB
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. 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, 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