1 / 24

MATLAB

MATLAB. MATLAB. Systém pro provádění numerických výpočtů a vizualizaci Umožňuje řešit úlohy mnohem pohodlněji než klasické programovací jazyky (C++, VB, Delphi, Fortran) Obsahuje mnoho funkcí Toolbox – přídavný modul obsahující další funkce

enya
Download Presentation

MATLAB

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MATLAB

  2. MATLAB • Systém pro provádění numerických výpočtů a vizualizaci • Umožňuje řešit úlohy mnohem pohodlněji než klasické • programovací jazyky (C++, VB, Delphi, Fortran) • Obsahuje mnoho funkcí • Toolbox – přídavný modul obsahující další funkce • FEMLAB nadstavba Matlabu pro řešení diferenciálních rovnic • MATLAB = MATicová + LABoratoř • Základní proměnná je matice (dvoudimenzionální pole)

  3. MATLAB: proměnné • Vytvoření matice: • napsáním z klávesnice • vytvořením pomocí funkce • načtení ze souboru vytvořeného mimo Matlab • Vytvoření napsáním zklávesnice: • prvky jsou v hranatých závorkách • oddělovač prvků je mezera nebo čárka • oddělovač řádků je středník nebo Enter • ans … proměnná při vynechání jména (answer)

  4. MATLAB: proměnné M = [3 –4 1 –2 0 5 –3 2 4] nebo M = [3 –4 1; –2 0 5; –3 2 4] • jedno číslo: matice o jednom řádku a sloupci • řádkový vektor: matice o jednom řádku • sloupcový vektor: matice o jednom sloupci A= 5 A = 5; % nevypíše se V = [3 –2 1] % řádkový vektor W = [–4; 1; 5] % sloupcový vektor

  5. MATLAB: proměnné • Zobrazení vytvořených matic: • napsáním jména se zobrazí obsah matice • who vypíše seznam proměnných • whos vypíše navíc podrobné informace • Mazání matic: • clear M smaže matici M • clear all smaže všechno

  6. MATLAB: proměnné • Vytvoření pomocí funkce (příklady): • M = rand(m,n) % náhodná matice • H = hilb(m) % Hilbertova matice • C = magic(n) % magický čtverec Vektory s konstantním krokem: vek= d:k:h d … dolní mezh … horní mezk … krok Příklady:V1= 1:2:7 V1 = 1 3 5 7 V2= 1:7 V2 = 1 2 3 4 5 6 7

  7. MATLAB: proměnné • Načtení ze souboru: • soubor musí být ve formátu ASCII (např. Poznámký blok) • jeho obsahem musí být matice • použije se příkaz čtení • loadjmeno.prp -ascii • Uložení do souboru: • save • uloží všechno do matlab.mat • příkaz load všechno načte po restartu Matlabu

  8. MATLAB: operace Maticové operace: + sčítání – odčítání * násobení ^ umocňování ’ transponování \ levé dělení / pravé dělení Operace s polem: .* násobení .^ umocňování .\ levé dělení ./ pravé dělení • Operace musí být proveditelná • Maticové násobení není komutativní, proto dvě dělení • x=A\b je řešení Ax=b • x=b/A je řešení xA=b

  9. MATLAB: operace Několik příkladů: A = [3 –4 1; –2 0 5; –3 2 4] B = [2 0 1; –1 1 –4; 3 –2 1] C = A+B C = 5 –4 2 –3 1 1 0 0 5 C = A*B C = 13 –6 20 11 –10 3 4 –6 –7

  10. MATLAB: operace Dělení: Ax=b A-1Ax=A-1b Ix=A-1b x=A-1b yM=c yMM-1=cM-1 yI=cM-1 y=cM-1 y=c/M x=A\b

  11. MATLAB: operace • Využití operace s polem: • vykonávají se po prvcích • tabulky a grafy funkcí Příklad: S=[1 2 3 4].* [1 2 3 4] S= 1 4 9 16 D=[1 2 3 4].^2 … totéž …

  12. MATLAB: operace Tabulka a graf: x=0:0.01:1; % x-ové souřadnice y=x.*sin(1./x); % y-ové souřadnice tabulka =[x’ y’] % tabulka plot(x,y)

  13. MATLAB: indexy Prvek v i-tém řádku a j-tém sloupci: M(i,j) M(2,3)=3 • Vektorizování operací: • méně cyklů = rychlejší výpočty M(2,[1,3])=[1 3] M(2,[1,2,3])=[1 -1 3] M(2,1:3)=[1 -1 3] M(2,1:2:3)=[1 3] M(2,:)=[1 -1 3]

  14. MATLAB: speciální matice eye … jednotková matice zeros … nulová matice ones … matice jedniček diag … vybere nebo vytvoří diagonálu triu … vybere horní trojúhelníkovou část tril … vybere dolní trojúhelníkovou část rand … náhodná matice magic … magický čtverec hilb … Hilbertova matice toeplitz Skládání matic: A=ones(3) B=[A, zeros(3,2); zeros(2,3), eye(2)]

  15. MATLAB: matem.funkce sin cos tan asin acos atan exp log …přirozený logaritmus rem … zbytek po celočíselném dělení abs … absolutní hodnota sqrt … odmocnina sign … znaménko round … zaokrouhlování floor … zaokrouhlování ceil … zaokrouhlování Nápověda: help, help plot

  16. MATLAB: vektorové funkce max … maximální složka vektoru min … minimální složka vektoru sum … součet složek vektoru prod … součin složek vektoru sort … uspořádání složek vektoru any … existenční kvantifikátor all … obecný kvantifikátor • vykonávají se po sloupcích

  17. MATLAB: cyklus for Cyklus s daným počtem opakování: x=[]; for i = 1:n x=[x,i^2] end for i=A příkazy end Vznikne vektor x=[1 4 9 16 25 …] • příkazy se vykonávají • pro každý prvek matice A Stejný vektor v opačném pořadí: x=[]; for i = n:-1:1, x=[x,i^2], end

  18. MATLAB: cyklus while Cyklus řízený podmínkou: while podmínka příkazy end Příklad:n=0; while 2^n < a n=n+1 end n Zobrazí nejmenší přirozené číslo n takové, že 2na.

  19. if podmínka1 příkazy1; elseif podmínka2 příkazy2; … else příkazyX; end lze vypustit lze vypustit MATLAB: podmíněný příkaz if Rozhodování je (skoro) stejné jako ve VB: Relační operátory: <, >, <=, >=, ==, ~= Logické operátory: & (a současně), | (nebo), ~ (negace)

  20. skript … posloupnost příkazů v externím souboru funkce … obsahuje hlavičku vstupní a výstupní proměnné MATLAB: programy Program = M-soubor:soubor s příponou m function[vystup]=jmeno(vstup) příkazy

  21. MATLAB: programy Příklad:funkce počítající funkční hodnoty f(x) = (x2-2x+2)sinx function y=fce(x) y=(x.^2-2*x+2).*sin(x); Uloží se do souboru: fce.m Spuštění: y=fce(-1:0.1:2)

  22. MATLAB: programy Příklad:skript, který nakreslí graf funkce dvou proměnných (vektorizovaný postup bez cyklů) x=-2:0.1:2; % x-ové souřadnice y=x;% y-ové souřadnice n=length(x);% počet souřadnic X=diag(x)*ones(n);% x-ové v matici X Y=ones(n)*diag(y);% y-ové v matici Y Z=exp(-X.^2-Y.^2);% funkční hodnoty mesh(x,y,Z)% graf [X,Y]=meshgrid(-2:0.1:2); % generujestejné X a Y

  23. MATLAB: alternativy Volně šiřitelné alternativy Matlabu: OCTAVE … http://www.octave.org SCILAB … http://www.scilab.org Programy pro symbolické počítání: komerční … Toolbox, Maple, Derive, Mathematica MAXIMA … http://maxima.sourceforge.net

  24. MATLAB: alternativy Další studijní zdroje: • Zaplatílek, Doňar: Matlab pro začátečníky. • Zaplatílek, Doňar: Matlab tvorba uživatelských aplikací. • Kermit Sigmon: Matlab Primer (1993 volné vydání)

More Related