30

Matlab príručka

Embed Size (px)

Citation preview

Page 1: Matlab príručka

5. decembra 2000

1

Page 2: Matlab príručka

Obsah

1 Èo je MATLAB? 3

2 Zadávanie matíc 4

3 Operácie s maticami 5

4 Príkazy, výrazy a premenné 6

5 Funkcie na vytváranie matíc 7

6 Manipulácia so submaticami 7

7 Príkazy for, while, if 8

8 Funkcie 9

9 M-súbory 10

10 Textové re»azce, chybové hlásenia, vstupy 12

11 Výstupný formát, import a export dát 12

12 Gra�ka 13

13 Externé programy a funkcie 14

14 Struèný prehµad funkcií 15

14.1 V¹eobecné príkazy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

14.2 Operátory a ¹peciálne znaky . . . . . . . . . . . . . . . . . . . . . . . 17

14.3 Jazykové kon¹trukcie a ladenie . . . . . . . . . . . . . . . . . . . . . . 18

14.4 Elementárne a ¹peciálne matice, maticová manipulácia . . . . . . . . 19

14.5 Matematické funkcie . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

14.6 Maticové funkcie - numerická lineárna algebra . . . . . . . . . . . . . 21

14.7 Analýza dát a Fourierova transformácia . . . . . . . . . . . . . . . . . 22

14.8 Polynómy, interpolácia a nelineárne numerické metódy . . . . . . . . 23

14.9 Riedke matice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

14.10Gra�ka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

14.11Farba, svetlo a zvuk . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

14.12Textové re»azce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

14.13Ni¾¹ie vstupné/výstupné súbory . . . . . . . . . . . . . . . . . . . . . 28

14.14Prezentácia MATLABu a demon¹trácie . . . . . . . . . . . . . . . . . 29

2

Page 3: Matlab príručka

Úvod

Táto u¾ívateµská príruèka je urèená zaèiatoèníkom v prostredí vy¹¹ieho programova-

cieho jazyka MATLAB. Zïaleka nea¹piruje na úplný a systematický výklad v¹etkých

funkcií a mo¾ností, ktoré MATLAB poskytuje. Jej úlohou je len zauja» a pomôc»

pri prvých krokoch. Vôbec sa nezaoberá ¹pecializovanými súbormi programov. Hoci

MATLAB umo¾òuje robi» nároèné výpoèty pohodlným a efektívnym spôsobom so

silnou gra�ckou podporou, pokroèilý u¾ívateµ pracuje so ¹irokou paletou funkcií, kto-

rých prezentácia prekraèuje zamý¹µaný rámec tejto publikácie. Èitateµ hádam ocení

prehµadný zoznam základných funkcií usporiadaných podµa tried urèenia so struèným

popisom a register na konci.

Text je písaný . Obsah príruèky kore¹ponduje s in¹taláciou verzie 4.2 pod WIN-

DOWS. Svoje pripomienky mô¾ete adresova» autorovi na:

Katedra matematiky FEI TU, Hlavná 6, 040 01 Ko¹ice

E-mail: [email protected]

Príjemný zá¾itok z MATLABu !

Literatúra

[1] MATLAB User's Guide, The MathWorks,Inc., USA, 1992

[2] MATLAB Reerence Guide, The MathWorks,Inc., USA, 1992

[3] Gorner V.,Nedoma P., Programový systém MATLAB, ÈVUT Praha, 1991

[4] Kaukiè M.,Køí¾ F., MATLAB-¹labikár, ®ilina, 1994

[5] Sigmon K., MATLAB, rukopis

1 Èo je MATLAB?

MATLAB je poèítaèové prostredie pre vysoko úèinné numerické výpoèty a obrazové

znázornenie. Jeho pôvodným úèelom bolo uµahèi» prístup k vyspelým programom pre

maticové výpoèty. Názov MATLAB pochádza z matrix laboratory. Ide o interakívny

systém, ktorého základným dátovým prvkom je matica nevy¾adujúca urèenie dimen-

zie (typu). Táto èrta umo¾òuje rie¹i» mnoho numerických úloh za zlomok èasu, ktorý

by bol potrebný na napísanie programu v jazykoch ako FORTRAN alebo C.

MATLAB sa obvykle pou¾íva pri v¹eobecných numerických výpoètoch, mode-

lovaní a pri maticovo formulovaných problémoch v teórii automatického riadenia,

¹tatistike a analýze èasových radov.

V MATLABe majú významné miesto súbory progamov (toolboxes), ktoré majú

tvar MATLABovských funkcií a roz¹irujú MATLABovské prostredie na rie¹enie ¹pe-

ciálnych tried problémov. K dispozícii sú súbory pre analýzu èasových radov, systémy

3

Page 4: Matlab príručka

riadenia, simuláciu dynamických systémov, neurónové siete, ¹tatistiku a ïal¹ie ob-

lasti. Pravdepodobne najdôle¾itej¹ou vlastnos»ou MATLABu je µahká roz¹íriteµnos»,

ktorá dovoµue u¾ívateµovi vytvára» vlastné aplikácie bez napísania èo i len jedného

riadku v nejakom ni¾¹om jazyku.

2 Zadávanie matíc

Ako je uvedené u¾ v predchádzajúcej èasti, MATLAB narába v podstate len s jedným

druhom objektov { s obdå¾nikovými maticami, ktorých prvkami sú komplexné èísla

alebo znaky. V¹etky premenné reprezentujú matice. V niektorých prípadoch majú

¹peciálny význammatice typu 1�1; nazývané skaláry, a matice len s jedným riadkom

alebo ståpcom, nazývané vektory.

Matice mô¾u by» v MATLABe de�nované niekoµkými spôsobmi:

� zadané ako zoznam prvkov,

� generované vnútornými funkciami a príkazmi,

� vytvorené v M-súboroch (pozri èas» 9),

� naèítané z vonkaj¹ích dátových súborov (pozri èas» 11).

Napríklad obidva príkazy

A=[0 -9 .5;1.2E-1 1/5 sqrt(3)]

aA=[

0 -9 .5

1.2E-1 1/5 sqrt(3)]

vytvárajú tú istú maticu typu 2�3 a priradia ju premennej A. Susedné prvky riadku

matice mô¾u by» oddelené èiarkou alebo medzerou.

Keï zadávame èíslo v exponenciálnom tvare (napr. .45e-10), nesmie by» me-

dzi jednotlivými znakmi medzera. Zadávanie veµkých matíc je najvýhodnej¹ie v M-

súboroch, kedy sa dajú chyby pohodlne opravova» (pozri èas» 9).

Vnútornými funkciami sú napríklad rand, magic a hilb. Príkaz rand(n) resp.

rand(m,n) vytvorí maticu typu n�n resp. m�n s náhodne generovanými prvkami,

magic(n) vytvorí maticu typu n � n; ktorá je magickým ¹tvorcom (riadky a ståpce

majú rovnaký súèet), hilb(n) vytvorí Hilbertovu maticu typu n � n:

Matice mô¾u by» generované aj v cykle príkazom for (pozri èas» 7).

Jednotlivé prvky matice a vektora mô¾u by» ¹peci�kované alebo de�nované po-

mocou indexov v okrúhlych zátvorkách. Napríklad A(1,3) oznaèuje prvok matice A

v prvom riadku tre»om ståpci a x(5) oznaèuje piatu zlo¾ku vektora x. Príkazom

4

Page 5: Matlab príručka

A(3,5)=pi

de�nujeme prvok matice A v tre»om riadku a piatom ståpci. Zvy¹né nede�nované

prvky sú doplnené nulami. Ako de�nova» èo najúsporne¹ím spôsobom nulovú maticu

urèeného typu?

3 Operácie s maticami

MATLAB umo¾òuje obvyklé maticové operácie+

-

*

^

'

\

/

sèítanie

odèítanie

násobenie

umocnenie

transpozícia

µavé delenie

pravé delenie

Tieto i niektoré ïal¹ie operátory sa prirodzene hodia i na skaláry (matice typu 1�1).

Ak typy matíc neodpovedajú maticovej operácii, objaví sa chybové hlásenie. Vý-

nimkou je operácia skalára s maticou, kedy je vykonaná operácia skalára s ka¾dým

prvkom matice.

Zvlá¹» si v¹imnime operácie maticového delenia. Ak A je regulárna ¹tvorcová ma-

tica a B je odpovedajúca matica, tak

A\B je A�1 �B a B/A je B �A�1.

Ak A nie je ¹tvorcová, tak X=A\B je rie¹ením rovnice A �X = B metódou najmen¹ích

¹tvorcov pre nedourèený alebo pre preurèený systém rovníc. ¥avé delenie je de�no-

vané pomocou pravého, keï B/A=(A'\B')'.

Operácie *, ^, \ a / budú vykonávané po zlo¾kách, ak im predchádza bodka.

Napríklad [1,2,3,4].*[1,2,3,4] alebo [1,2,3,4].^2 dáva [1,4,9,16].

Relaèné operátory v MATLABe sú<

>

<=

>=

==

~=

men¹í ako

väè¹í ako

men¹í alebo rovný

väè¹í alebo rovný

rovná sa

nerovná sa.V¹imnite si, ¾e = sa pou¾íva v priraïovacích príkazoch, kým == je operátor.

Logickými operátormi sú&

|

~

a

alebo

negácia (unárna operácia).Ak aplikujeme binárnu relaènú resp. logickú operáciu na matice rovnakého typu,

výsledkom je matica (logických) jednotiek a núl podµa toho, èi sú odpovedajúce

prvky matíc v príslu¹nej relácii alebo nie resp. èi sú odpovedajúce prvky nenulové

(pravdivostná hodnota 1) alebo nulové. Èo bude výsledkom operácie ~(~A) resp.

5

Page 6: Matlab príručka

A.*(A>0&A<=10)?

4 Príkazy, výrazy a premenné

MATLAB je jazyk výrazov. Výrazy, ktoré napí¹ete, sú interpretované a vyhodnotené.

Príkazy majú be¾ne tvarpremenná=výraz alebo len

výraz

Výrazy sú zväè¹a tvorené zo znakov premenných, funkcií, operátorov a ¹peciálnych

znakov. Výsledkom vyhodnotenia výrazu je matica, ktorá je zobrazená na obrazovke

a priradená premennej pre budúce pou¾itie. Ak chýba názov premennej a znak =,

hodnota výrazu je automaticky priradená premennej ans (od answer).

Príkaz je ukonèený ENTER (PC variant). Mô¾e v¹ak pokraèova» v nasledujúcom

riadku umiestnením aspoò troch bodiek na konci riadku ukonèených klávesou EN-

TER. Na druhej strane, v jednom riadku mô¾e by» umiestnených niekoµko príkazov

oddelených èiarkami alebo bodkoèiarkami.

Výstup na obrazovku potláèa ukonèenie príkazu bodkoèiarkou. Vyu¾ijeme to pri

potlaèení nepotrebných medzivýsledkov.

MATLAB rozli¹uje veµké a malé písmená. Prepínaè casesen toto rozlí¹enie po-

tláèa resp. nastavuje.

Príkaz who resp. whos vypí¹e zoznam premenných v operaènej pamäti. Premenná

mô¾e by» z pamäte vymazaná príkazom clear premenná. Samotné clear vyma¾e

v¹etky doèasné premenné.

Opustením MATLABu (príkaz quit alebo my¹ou) sa premenné stratia. Ak pred-

tým pou¾ijeme príkaz save, v¹etky premenné sa zapí¹u do súboru matlab.mat. Ne-

skôr mo¾no pôvodný obsah pamäte obnovi» príkazom load. V¹etky alebo len vybrané

premenné (napr. x1 x2 x3) sa dajú odlo¾i» aj do iného súboru súbor.mat príkazom

save súbor x1 x2 x3. Príkazom load súbor sú tieto premenné v pamäti znova ob-

novené. Vyskú¹ajte to!

Plnenie príkazu mô¾e by» na väè¹ine strojov zastavené klávesami CTRL-C alebo

CTRL-BREAK bez opustenia MATLABu.

Kon¹tantu eps, ktorá má na väè¹ine poèítaèov hodnotu okolo 10�16;mo¾no pou¾i»

k zastaveniu iteraèných procesov. Ïal¹ími kon¹tantami sú pi (Ludolfove èíslo �) a i

resp. j (imaginárna jednotka).

6

Page 7: Matlab príručka

5 Funkcie na vytváranie matíc

U¾itoènými funkciami na vytváranie a modi�káciu matíc sú okrem iných ajeye

zeros

ones

diag

triu

tril

rand

hilb

magic

jednotková matica

nulová matica, matica núl

matica jednotiek

diagonálna matica

horná trojuholníková èas» matice

dolná trojuholníková èas» matice

matica náhodných èísel

Hilbertova matica

magický ¹tvorecNapríklad príkaz zeros(3,5) vytvorí nulovú maticu typu 3 � 5, magic(4) magický

¹tvorec 4� 4 a ones(A) maticu jednotiek typu matice A (pozri tie¾ èas» 2).

Ak je x vektor, diag(x) je diagonálna matica s x na hlavnej diagonále. Ak A je

matica, diag(A) je vektor pozostávajúci z prvkov hlavnej diagonály matice A, kým

diag(A,k) je vektor k�tej diagonály nad hlavnou. Èo je diag(diag(A))?

Matice mô¾u by» vytvorené z blokov umiestnených vedµa seba alebo pod sebou.

Ak je napríklad A matica typu 2 � 2; príkaz

B=[A, zeros(2,3); ones(3,2), eye(3); 1:5]

vytvorí maticu B typu 6� 5: Presvedète sa, ¾e výraz 1:5 je riadkový vektor [1 2 3

4 5] (pozri èas» 6)!

6 Manipulácia so submaticami

Vo v¹eobecnosti je výraz m:d:n riadkovým vektorom, ktorého zlo¾ky sú èleny arit-

metickej postupnosti s diferenciou d. Prvá zlo¾ka je m a posledná neprekroèí n. Ak

d vynecháme, diferencia je rovná 1. Napríklad3:-pi/4:0 je vektor

[3.0000 2.2146 1.4292 0.6438]

Nasledujúce príkazy generujú logaritmickú tabuµkux=[1:.1:10]';

y=log10(x);

[x y]

V¹imnite si, ¾e funkcia dekadického logaritmu log10 operuje po zlo¾kách a obrazom

vektora x je vektor y.

Dvojbodková notácia je i základom manipulácie so ¹truktúrou matíc a urèovania

submatíc. Ak A je matica a zlo¾ky vektora u resp. v sú indexy riadkov resp. ståpcov

matice A, tak B=A(u,v) je matica s riadkami resp. ståpcami matice A ¹peci�kovanými

v u resp. vo v. NapríkladA(2:4,3)

A(:,2)

A(3:-1:1,:)

obsahuje druhý a¾ ¹tvrtý prvok tretieho ståpca

je druhý ståpec a

obsahuje prvé tri riadky matice A v opaènom poradí.

7

Page 8: Matlab príručka

Nech je napríklad A matica typu 4� 10 a B je typu 20 � 2: Príkaz

A(:,[2 4])=B(5:8,:)

nahradí druhý a ¹tvrtý ståpec matice A èas»ami ståpcov matice B od piateho po ôsmy

riadok. Ak x je napríklad n�rozmerný vektor, èo spôsobí príkaz x=x(n:-1:1)?

Èasti matice sa dajú ¹peci�kova» aj postupnos»ami núl a jednotiek. Nech K je m�

rozmerný vektor pozostávajúci z núl a jednotiek a matica A je typu m � n: Potom

A(K,:) je matica tvorená tými riadkami matice A, pre ktoré sú zlo¾ky vektora K

jednotky. Podobne sa dá manipulova» so ståpcami.

Príkaz B=A(:) vytvorí ståpcový vektor, ktorého zlo¾ky sú prvky matice A brané

po ståpcoch.

Prázdna matica [ ] má nulový rozmer (typ 0 � 0). Napríklad príkazom A(:,[1

3])=[] dosiahneme zru¹enie prvého a tretieho ståpca matice A.

7 Príkazy for, while, if

Príkaz for umo¾òuje, aby bola skupina príkazov urèený poèet krát opakovaná. V¹e-

obecný tvar príkazu for je

for premenná = výraz, príkazy, end

Ståpce matice výraz sú postupne priraïované premennej premenná. Po ka¾dom ta-

kom priradení nasleduje postupné vykonávanie príkazov príkazy a¾ po end. Ståpcami

matice výraz sú zvyèajne skaláre. Nasledujúci postup vedie k matici B, ktorá obsa-

huje prevrátené hodnoty nenulových prvkov matice A.[m,n]=size(A);

for i = 1:m

for j = find(A(i,:))

B(i,j) = 1/A(i,j);

end

end

Funkcia find vráti indexy nenulových zlo¾iek vektora.

V¹eobecný tvar cyklu while je

while výraz, príkazy, end

Séria príkazy je opakovane vykonávaná, pokým výraz má reálnu èas» pozostávajúcu

zo samých nenulových prvkov. Matica výraz je zvyèajne výsledok relaènej operácie

(pozri èas» 3). Nasledujúci program nájde pre dané èíslo a najmen¹ie také prirodzené

èíslo n, ¾e 2n � a:

n = 0;

while 2^n<a

n = n+1;

end

V¹eobecný tvar podmieneného príkazu if je

if výraz, príkazy, end

Séria príkazy je vykonaná, ak má výraz reálnu èas» zo samých nenulových prvkov.

Podobne ako u príkazu while je výraz výsledkom nejakej relaènej operácie. Vetvenie

8

Page 9: Matlab príručka

programu podµa ïal¹ích podmienok umo¾òujú vsuvky elseif a else, ktoré nie sú

povinné. Nasledujúci program priradí prvku matice A dvojku, ak sa prvok nachádza

na hlavnej diagonále, trojku, ak je na susednej diagonále a nulu v ostatných prípa-

doch.if i == j

A(i,j) = 2;

elseif abs(i-j) == 1

A(i,j) = 3;

else

A(i,j) = 0;

end

8 Funkcie

Niektoré MATLABovské funkcie sú urèené pre skaláry. Ak sú aplikované ma maticu,

operujú po prvkoch tejto matice. Takými funkciami sú napríkladsin exp abs round angle

atan log sqrt floor rem

Iné funkcie sú v podstate urèené pre vektory. Ak sú aplikované na maticu s viac

ako jedným riadkom, operujú po ståpcoch a výsledkom je vektor. Nasleduje niekoµko

takýchto funkciímax sum prod mean any

sort cumsum diff std all

Funkcia all vykoná konjunkciu zlo¾iek vektora (opakované pou¾itie operátora &),

kým any je disjunkciou (operátor |). Ako nájdeme maximálny prvok matice A?

Znaèná èas» sily MATLABu spoèíva v jeho maticových funkciách. K naju¾i-

toènej¹ím patriaeig

inv

lu

rref

poly

det

size

rank

cond

find

vlastné hodnoty a vlastné vektory

inverzná matica

LU rozklad

ekvivalentný riadkový redukovaný stupòovitý tvar

charakteristický polynóm

determinant

typ

hodnos»

podmienenos»

indexy nenulových prvkov

Napríklad indexy tých prvkov matice A (m � 2; n � 2), ktoré sú v intervale [1;8],

nájdeme v riadkoch matice B

B=find(A>=1&A<=8)

MATLABovské funkcie mô¾u ma» jednoduché alebo viacnásobné výstupné argu-

menty. Napríklad

9

Page 10: Matlab príručka

x=eig(A) alebo jednoducho eig(A)

dáva ståpcový vektor vlastných hodnôt matice A, kým

[U,D]=eig(A)

dáva maticu U, ktorej ståpce sú vlastné vektory matice A, a diagonálnu maticu D

s vlastnými hodnotami matice A na diagonále. Ani poèet vstupných argumentov ne-

musí by» presne urèený. Ich interpretácia èasto závisí od ich poètu a typu (pozri napr.

funkciu diag v èasti 5). Poèet vstupných resp. výstupných argumentov kontrolujú

funkcie nargin resp. nargout.

Existujú tie¾ funkcie s niekoµkými vstupnými a výstupnými argumentami. Ak je

napríklad x n�rozmerný a y m�rozmerný vektor, príkaz

[X,Y]=meshgrid(x,y)

dáva maticu X s vektorom x v ka¾dom z m riadkov a maticu Y s vektorom y v ka¾dom

z n ståpcov. Obidve matice sú teda typu m�n a keby boli polo¾ené na seba, stretne

sa ka¾dá zlo¾ka vektora x s ka¾dou zlo¾kou vektora y. Táto funkcia sa pou¾íva najmä

pri trojrozmernom zobrazovaní.

Èas» 9 pojednáva o tom, ako si mô¾ete vytvori» vlastné funkcie odpovedajúce

problémom, ktoré rie¹ite.

V systéme MATLAB je zabudovaný výkonný "help", ktorý poskytuje informácie

o väè¹ine objektov, ¹peciálne i o funkciách. Ak sa chcete dosta» do jeho ¹truktúry,

pou¾ite jednoducho príkaz help. Ak potrebujete informácie o konkrétnom objekte (èi

oblasti alebo funkcii) pou¾ite príkaz help objekt. Kni¾ný manuál je potom potrebný

len výnimoène.

9 M-súbory

MATLAB mô¾e vykonáva» postupnosti príkazov ulo¾ených v súboroch na disku.

Tieto súbory musia ma» koncovku .m a preto ich nazývame M-súbory.

Poznáme dva druhy M-súborov: príkazové a funkcionálne. Príkazový súbor po-

zostáva z postupnosti zvyèajných MATLABovských príkazov. Ak má napríklad ta-

kýto súbor meno picture.m, príkaz picture spôsobí vykonávanie príkazov v poradí,

v ktorom sú v súbore zapísané. Premenné v takomto súbore sú globálne a ostanú

zade�nované aj po odznení súboru, ak len nie sú inými príkazmi z pamäte vymazané

(pozri èas» 4).

Príkazové súbory èasto slú¾ia na vlo¾enie dát do veµkýchmatíc. Chyby v takýchto

súboroch sa dajú µahko identi�kova» a odstráni». Ak je napríklad obsahom súboru

data.mA=[

1 2 3 4

5 6 7 8

];

príkaz data spôsobí realizáciu priradenia.

¥ubovoµný M-súbor mô¾e vola» iné M-súbory a rekurzívne i sám seba.

Funkcionálne M-súbory obsahujú potenciál roz¹íriteµnosti MATLABu. Funkcie,

10

Page 11: Matlab príručka

ktoré vytvoríte, majú rovnaké postavenie ako iné MATLABovské funkcie. Premenné

vo funkcionálnych súboroch sú lokálne. Nasleduje jednoduchý príklad funkcionálneho

súborufunction p=komb(n,k)

% KOMB Funkcia na vypocet vseobecneho kombinacneho cisla.

% p=komb(n,k)

% "k" je prirodzene a "n" lubovolne cislo.

[a b]=size(n); [c d]=size(k);

if [a b c d]~=1

error('Prepacte, ale "n" a "k" musia byt cisla.')

elseif k<0|round(k)~=k

error('Prepacte, ale "k" musi byt prirodzene cislo.')

elseif k==0

p=1;

else

p=prod(((n-k+1):n)./(1:k);

end

p=round(p);

Aby funkcia pracovala, predchádzajúci obsah musí by» umiestnený na disku v súbore

s menom komb.m (odpovedá názvu funkcie). Prvý riadok deklaruje názov funkcie,

vstupné a výstupné argumenty. Bez tohto riadku by bol súbor ponímaný ako príka-

zový. Príkaz z=komb(x,y) potom zabezpeèí výpoèet kombinaèného èísla�x

y

�, ktoré

je priradené premennej z. Keï¾e premenné vo funkcii sú lokálne, ich mená nie sú

závislé od premenných v aktuálnom prostredí MATLABu.

Funkcia mô¾e ma» tie¾ viacnásobné výstupné argumenty:function [pr,odch]=stat(x)

% STAT Aritmeticky priemer a smerodajna odchylka.

% [pr,odch]=stat(x)

% Pre vektor "x" vracia funkcia aritmeticky priemer "pr"

% a smerodajnu odchylku "odch" zloziek vektora "x".

% Ak je "x" matica, operuje funkcia "stat" postlpcoch.

[m n]=size(x);

if m==1

m=n; %pripad riadkoveho vektora

end

pr=sum(x)/m;

odch=sqrt(sum(x.^2)/m-pr.^2);

Pomocou funkcie s viacnásobným výstupným argumentom mô¾e by» vykonané aj

jednoduché priradenie. Príkaz xp=stat(x) priradí premennej xp prvý výstupný ar-

gument.

Symbol % znamená, ¾e zvy¹ok riadku je komentár, ktorý je MATLABom ignoro-

vaný. Poèiatoèné komentárové riadky sa objavia na obrazovke po príkaze help stat.

Ich úlohou je oboznámi» u¾ívateµa s funkciou.

Zostrojte funkciu pytag(n), ktorej vstupným argumentom je celé kladné èíslo n

11

Page 12: Matlab príručka

a výstupom je matica, ktorej riadky tvoria v¹etky také trojice celých kladných èísel

x; y; z; ¾e x2 + y

2 = z

2; prièom x � y � n:

M-súbory pozostávajú z ASCII znakov a pri ich vytváraní a editovaní mô¾eme

pou¾i» µubovoµný textový editor i bez opustenia prostredia MATLABu. Príkazy ope-

raèného systému sa dajú s prostredia MATLABu vydáva» tak, ¾e sa uvedú znakom

!. Napríklad príkaz

!edit stat.m

nám dovolí editova» súbor stat.m pomocou editora DOS. Po jeho opustení nájdeme

prostredie MATLABu v pôvodnom stave. Nov¹ie varianty MATLABu majú vlastný

editor.

Niektoré z nasledujúcich príkazov MATLABu mô¾u ma» svoj ekvivalent v ana-

logickom príkaze operaèného systému. Vtedy sa dajú pou¾i» dvoma spôsobmi { so

znakom ! (ktorému sa rad¹ej vyhnite) i bez neho.

dir

what

delete

type

cd

obsah aktívneho adresára

zoznam M-, MAT- a MEX- súborov v adresári

vymazanie súboru

zobrazenie obsahu súboru

zmena aktívneho adresára.

10 Textové re»azce, chybové hlásenia, vstupy

Textové re»azce sú v MATLABe de�nované ohranièením pomocou jednoduchých uvo-

dzoviek (apostrofov). Napríklad príkaz

s='Toto je skuska'

priradí takto ohranièený text premennej s.

Textový re»azec sa zobrazí funkciou disp. Pri chybových hláseniach je najlep¹ie

pou¾i» funkciu error, ktorá zaistí výstup z M-súboru (viï èas» 9).

V M-súbore mô¾e by» u¾ívateµ po¾iadaný o interaktívne vlo¾enie dát funkciou

input. Ak program narazí napríklad na príkaz

iter=input('Vloz pocet iteracii:')

zobrazí sa správa v úvodzovkách a vykonávanie príkazov sa zastaví, pokiaµ u¾ívateµ

nevlo¾í vstupné dáta. Po stlaèení klávesy ENTER sú dáta priradené premennej iter

a program pokraèuje.

11 Výstupný formát, import a export dát

Nasleduje niekoµko základných formátov prezentácie výsledkov na obrazovkeformat short

format long

format short e

format long e

pevná desatinná bodka so 4 desatinnými miestami (nastavené)

pevná desatinná bodka so 14 desatinnými miestami

exponenciálny zápis s 5 èíslicami

exponenciálny zápis s 15 èíslicami.

12

Page 13: Matlab príručka

Výpoèty sú vykonávané s dvojitou presnos»ou. S ïal¹ími formátmi sa zoznámite prí-

kazom help format.

Dáta mô¾u by» do systému MATLAB zavedené alebo zo systému exportované

niekoµkými spôsobmi

� Vstup dát ako explicitný zoznam prvkov (pozri èas» 2).

� Vstup dát prostredníctvom textových súborov (pozri èas» 9).

� Vstup dát z ASCII súboru. Riadky súboru tvoria riadky matice. Oddeµovaèom

dát je medzera alebo èiarka. Súbor sa naèíta príkazom load (pozri help load).

� Vytvorením programu v jazyku C alebo FORTRAN pre konverziu dát do alebo

z formátu pou¾ívaného MATLABom.

� Výstup dát príkazom save (pozri help save).

Príkaz diary súbor spôsobí, ¾e v¹etko, èo sa objaví na obrazovke (s výnimkou

gra�ky) bude zapísané do súbor. Ak vynecháme meno súboru, zapisova» sa bude do

súboru diary. Zapisovanie mo¾no preru¹i» resp. obnovi» príkazmi diary off resp.

diary on. Následne mô¾e by» takýto súbor podµa potreby editovaný èi vytlaèený.

12 Gra�ka

MATLAB má vynikajúcu schopnos» vytvára» rovinné grafy i zobrazova» plochy

v trojrozmernom priestore. Niektoré jeho schopnosti demon¹truje príkaz plotdemo.

Príkaz plot(x,y) spája èiarou body, ktorých prvé resp. druhé súradnice sú zlo¾-

kami vektora x resp. y. Graf funkcie sínus v intervale [-4;4] znázornime nasledovne

x=-4:.05:4;

y=sin(x);

plot(x,y)

Na prechod do gra�ckého okna slú¾i príkaz shg, na návrat stlaèenie µubovoµnej

klávesy (pod WINDOWS vystaèíte s my¹ou).

K dispozícii sú rôzne farby a druhy èiar, pri znázoròovaní izolovaných bodov zase

rôzne znaky (bli¾¹ie help plot alebo èas» 14).

Ak chcete znázorni» niekoµko sústav bodov súèasne, na miesto argumentov funkcie

plot vlo¾te matice, prièom ka¾dá skupina bodov bude ¹peci�kovaná odpovedajúcimi

ståpcami týchto matíc. Argumenty pre jednotlivé sústavy mô¾u nasledova» vo funkcii

plot i za sebou.x=-4:.05:4; y=sin(x); v=sin(x).^2-2*x.*cos(x);

plot(x,y,'--r',x,v,'-y')

Inokedy je zasa vhodnej¹ie pou¾i» prepínaè hold (prípadne s on alebo spä» s off),

ktorý zmrazí aktívny obrázok a ïal¹ie obrázky sú pridávané.

13

Page 14: Matlab príručka

Pre znázornenie ståcového resp. schodovitého grafu pou¾ijeme funkcie bar resp.

stairs.

Graf funkcie dvoch premenných sa dá prezentova» vrstevnicami funkciou contour.

Ak sú X resp. Y matice x�ových resp. y�ových pravouhlých súradníc mrie¾ky

bodov v rovine a Z je matica odpovedajúcich hodnôt funkcie dvoch premenných, troj-

rozmerné zobrazenie jej grafu dostaneme príkazom mesh(X,Y,Z) resp. surf(X,Y,Z).

Nasledujúcimi príkazmi dosiahneme takéto zobrazenie grafu funkcie y = x2 � y

2 na

intervale [�1; 1]� [�2; 2]:

x=-1:.02:1;

y=-2:.05:2;

[X,Y]=meshgrid(x,y);

Z=X.^2-Y.^2;

mesh(X,Y,Z)

MATLAB umo¾òuje tie¾ pohyb a animáciu, rozdelenie gra�ckého okna na tablièky

(subplot), u¾ívateµské riadenie (uicontrol) a menu (uimenu). Nasledujúci príkaz

vytvorí v aktuálnom gra�ckom okne tlaèítko, ktoré zmrazí obrázok pre pridávanie

ïal¹ích gra�ckých objektov.h=uicontrol('style','pushbutton','position',...

[400 320 70 40],'callback','hold','string','mraz');

Detaily a ïal¹ie informácie sú v ¹truktúre help (plotxy, plotxyz a graphics),

v 14. èasti tohto textu a príruèkách MATLAB User's Guide a Reference Guide.

13 Externé programy a funkcie

Ako u¾ bolo uvedené v èasti 9, samostatné programy v iných programovacích jazy-

kov sa dajú spusti» priamo z prostredia MATLABu, ak je príslu¹ný príkaz uvedený

znakom !. Ak je pritom potrebné odovzdáva» dáta, vytvoríme M-súbor, ktorý:

� ulo¾í premenné na disk,

� spustí externý program, ktorý naèíta ulo¾ené dáta, vykoná výpoèet a ulo¾í dáta

do súboru na disk,

� vyvolá dáta z tohto výstupného súboru.

Napríklad M-súbor contrlq.m, ktorého obsah nasleduje, spustí externý program spc,

ktorý naèíta vstupné dáta zo súboru condat.mat, kde po výpoète ukladá i výstupné

dáta.function y=controlq(u,v,w,t)

save condat u v w t

!spc

load condat

14

Page 15: Matlab príručka

Z prostredia MATLAB mo¾no vola» externé funkcie napísané v jazykoch C alebo

FORTRAN. Funkcie sú na disku v tvare výpoètových modulov s príponou .mex.

MATLAB takto, s istými obmedzeniami, funguje ako otvoené organizaèné prostredie.

Pri tvorbe MEX-súborov v jazyku C pou¾ívame pomocné distribuèné súborycmex.bat

cmex.obj

cmex.h

príkazový súbor (DOS) na preklad a zostavenie

relatívny modul urèený k spojeniu (zastupuje hlavný program)

zaèlenený (include) modul s de�níciou typov dát a funkcií.Súbor cmex.bat pou¾ijeme nasledujúcim spôsobom

cmex zdrojsúbory cieµsúbory kni¾nice

MEX-funkcia v jazyku C vy¾aduje záhlavievoid user_fcn(ni, inp, no, out)

int ni, no; /* pocet vstupnych a vystupnych argumentov */

Matrix *inp[], *out[]; /* vstupne a vystupne argumenty */

f...

Argumenty sú ukazovatele na ¹truktúru (Matrix), v ktorej sú zakódovan rozmery a

ukazovateµ na dáta.

K dispozícii je niekoµko podporných procedúr de�novaných v cmex.h.create_matrix

free_matrix

mex_calloc

mex_free

get_global

matlab_fcn

mex_error

heap_check

mex_printf

vytvorenie ¹truktúry výstupov

uvoµnenie ¹truktúry výstupov

pridelenie pracovných polí

uvoµnenie pracovných polí

vracia ukazovateµ do globálnej premennej

spustenie funkcie (MATLAB, M, MEX)

zobrazenie chybového hlásenia a návrat do MATLABu

kontrola integrity oblasti pre dátové ¹truktúty

výstup re»azca na obrazovku.

Volanie MEX-funkcie zodpovedá ¹tandardným funkciám MATLABu.

[y1,y2,...]=funkcia(x1,x2,...)

14 Struèný prehµad funkcií

Nasledujúca èas» obsahuje 20 hlavných tried funkcií MATLABu. Niektoré z nich sú

vnútornými funkciami, pokým iné maú podobu M-súborov. Tieto M-funkcie, a v prí-

pade vnútorných funkcií príslu¹né M-súbory obsahuúce len help text, sú rozdelené

do 20 adresárov, z ktorých ka¾dý obsahuje súbory jednej triedy. Samotný príkaz help

poskytne tabuµku týchto hlavných tried.

15

Page 16: Matlab príručka

general V¹eobecné príkazy.

ops Operátory a ¹peciálne znaky.

lang Jazykové kon¹trukcie a ladenie.

elmat Elementárne matice a maticová manipulácia.

specmat ©peciálne matice.

elfun Elementárne matematické funkcie.

specfun ©peciálne matematické funkcie.

matfun Maticové funkcie - numerická lineárna algebra.

datafun Funkcie pre analýzu dát a Fourierovu transformáciu.

polyfun Polynómy a interpolácia.

funfun Funkcie funkcií - nelineárne numerické metódy.

sparfun Funkcie riedkych matíc.

plotxy Dvojrozmerná gra�ka.

plotxyz Trojrozmerná gra�ka.

graphics V¹eobecné gra�cké funkcie.

color Riadenie farieb a svetla.

sounds Zvuk.

strfun Funkcie textových re»azcov.

iofun Vstupné/výstupné funkcie ni¾¹ích súborov.

demos Prezentácia MATLABu a demon¹trácie.

Ak napí¹ete help spolu s vy¹¹ie uvedeným menom triedy, dostanete tabuµku od-

povedajúcich funkcií va¹ej verzie MATLABu so struèným popisom. Bli¾¹ie informácie

o funkcii získata príkazom help menofunkcie.

14.1 V¹eobecné príkazy (general)

Riadenie príkazov a funkcií

help Spriahnutá nápoveï.

doc Ulo¾enie hypertextovej dokumentácie.

what Zoznam M-, MAT- a MEX-súborov.

type Obsah súboru.

lookfor Hµadanie v spriahnutých nápovediach.

which Lokalizácia funkcií a súborov.

demo Demon¹trácia.

path Riadenie a kontrola cesty vyhµadávania.

Riadenie premenných a pracovného priestoru

who Zoznam aktuálnych premenných.

whos Dlhý tvar zoznamu aktuálnych premenných.

load Naèítanie premenných z disku.

save Ulo¾enie premenných na disk.

clear Vymazanie premenných a funkcií z pamäte.

pack Konsolidácia pamäte.

size Typ matice.

length Då¾ka vektora.

disp Zobraz maticu alebo text.

Práca so súbormi a operaèným systémom

cd Zmena aktívneho adresára.

dir Obsah adresára.

delete Vyma¾ súbor.

getenv Premenná systémového prostredia.

! Vykonaj príkaz operaèného systému.

unix Vykonaj príkaz operaèného systému a vrá» výsledok.

diary Ulo¾ text MATLABovského re¾imu.

16

Page 17: Matlab príručka

Riadenie príkazového okna

cedit Nastavenie parametrov príkazového riadku.

clc Vyma¾ príkazové okno.

home Po¹li kurzor vµavo.

format Nastav výstupný formát.

echo Hlás/nehlás príkazy v príkazových súboroch.

more Stránkovanie v príkazovom okne.

Spustenie a opustenie MATLABu

quit Ukonèenie MATLABu.

startup M-súbor vykonávaný pri volaní MATLABu.

matlabrc Hlavný spú¹»ací M-súbor.

V¹eobecné informácie

info Informácie o MATLABe a MathWorks, Inc.

subscribe Staò sa predplatiteµomMATLABu.

hostid Identi�kaèné èíslo hos»a v riadiacom poèítaèi.

whatsnew Informácie o novinkách.

ver Informácie o MATLAB, SIMULINK a TOOLBOX verziách.

14.2 Operátory a ¹peciálne znaky (ops)

Maticové operátory

+ Sèítanie.

- Odèítanie.

* Maticové násobenie.

^ Maticové umocnenie.

\ ¥avé delenie.

/ Pravé delenie.

kron Kroneckerov tensorový súèin.

' Transponovanie.

Operátory po zlo¾kách .

.* Násobenie.

.^ Umocnenie.

./ Delenie.

Relaèné operátory

== Rovná sa.

< Men¹í ako.

> Väè¹í ako.

<= Men¹í alebo rovný.

>= Väè¹í alebo rovný.

~= Nerovná sa.

Logické operátory

& Konjunkcia (A).

| Disjunkcia (ALEBO).

~ Negácia (NIE).

xor Symetrická diferencia nenulových èastí (výluèné ALEBO).

17

Page 18: Matlab príručka

©peciálne znaky

: Dvojbodka.

( ) Zátvorky.

[ ] Hranaté zátvorky.

. Desatinná bodka.

.. Nadradený adresár.

... Pokraèovanie.

, Èiarka.

; Bodkoèiarka.

% Komentár.

! Vonkaj¹í príkaz.

= Priradenie.

Logické charakterizácie

exist Kontrola existencie premennej alebo funkcie.

any Disjunkcia zlo¾iek vektora.

all Konjunkcia zlo¾iek vektora.

find Indexy nenulových prvkov.

isnan Logická jednotka pre neurèité výrazy (NaN).

isinf Logická jednotka pre nekoneèné prvky (inf).

finite Logická jednotka pre koneèné prvky.

isempty Logická jednotka pre prázdnu maticu.

isreal Logická jednotka pre reálnu maticu.

issparse Logická jednotka pre riedku maticu.

isstr Logická jednotka pre textový re»azec.

isglobal Logická jednotka pre globálne premenné.

14.3 Jazykové kon¹trukcie a ladenie (lang)

MATLAB ako programovací jazyk

script O príkazových M-súboroch.

function O funkcionálnych M-súboroch.

eval Interpretuj re»azec ako výraz.

feval Interpretuj re»azec ako funkciu.

global De�nuj globálnu premennú.

nargchk Kontrola správneho poètu vstupných argumentov.

lasterr Posledné chybové hlásenie.

Riadenie programových tokov

if Podmienený príkaz.

else Vetvenie programu pre pou¾itie s if.

elseif Vetvenie programu pre pou¾itie s if.

end Ukonèenie rozsahu príkazov pre for, while a if.

for Opakovanie príkazov ¹peci�kovaný poèet krát.

while Opakovanie príkazov neurèený poèet krát.

break Ukonèenie vykonávania v cykle.

return Návrat k volajúcej funkcii.

error Chybové hlásenie a opustenie funkcie.

Interaktívny vstup

input Okam¾itý u¾ívateµský vstup.

keyboard Príkazy z klávesnice.

menu Vytvor menu pre u¾ívateµský vstup.

pause Èakaj na u¾ívateµovú odozvu.

uimenu Vytvor u¾ívateµské menu.

uicontrol Vytvor u¾ívateµské riadenie.

18

Page 19: Matlab príručka

Ladenie

dbstop Nastav preru¹enie.

dbclear Odstráò preru¹enie.

dbcont Pokraèuj.

dbdown Zmeò kontext lokálnej pracovnej oblasti.

dbstack Zoznam volaní.

dbstatus Zoznam preru¹ení.

dbstep Vykonaj jeden alebo viac riadkov.

dbtype Obsah M-súboru s èíslami riadkov.

dbup Zmeò kontext lokálnej pracovnej oblasti.

dbquit Opustenie ladiaceho re¾imu.

mexdebug Ladenie MEX-súborov.

14.4 Elementárne a ¹peciálne matice, maticová manipulácia

(elmat, specmat)

Elementárne matice

zeros Nulová matica.

ones Matica jednotiek.

eye Jednotková (identická) matica.

rand Náhodné èísla z rovnomerného rozdelenia.

randn Náhodné èísla z normálneho rozdelenia.

linspace Lineárne odstupòované zlo¾ky vektora.

logspace Logaritmicky odstupòované zlo¾ky vektora.

meshgrid Mrie¾ka X a Y súradníc pre trojrozmerné zobrazenie.

: Pravidelne odstupòované zlo¾ky vektora.

©peciálne premenné a kon¹tanty

ans Posledná odpoveï.

eps Relatívna presnos».

realmax Najväè¹ie èíslo s pohyblivou desatinnou bodkou.

realmin Najmen¹ie èíslo s pohyblivou desatinnou bodkou.

pi Ludolfove èíslo �.

i, j Imaginárna jednotka.

inf Nekoneèno.

NaN Neurèitý výraz.

flops Poèítadlo základných operácií.

nargin Poèet vstupných argumentov funkcie.

nargout Poèet výstupných argumentov funkcie.

computer Typ poèítaèa.

isieee Logická jednotka pre poèítaè s aritmetikou IEEE.

isstudent Logická jednotka pre neúplnu verziu.

why Priliehavá odpoveï.

version Èíslo verzie MATLABu.

Èas a dátum

clock Èas.

cputime Uplynutý èas.

date Kalendár.

etime Funkcia uplynutého èasu.

tic, toc Poèiatoèný a koncový èas pre stopky.

19

Page 20: Matlab príručka

Manipulácia s maticami

diag Diagonála.

fliplr Pravo-µavé preklopenie.

flipud Horno-dolné preklopenie.

reshape Zmena typu matice.

rot90 Otoèenie o 90o.

tril Dolná trojuholníková èas».

triu Horná trojuholníková èas».

: Index v matici, prestavba matice.

©peciálne matice

compan Zdru¾ená matica.

gallery Niekoµko malých testovacích matíc.

hadamard Hadamardova matica.

hankel Hankelova matica.

hilb Hilbertova matica.

invhilb Inverzná Hilbertova matica.

kron Kroneckerov tenzorový súèin.

magic Magický ¹tvorec.

pascal Pascalova matica.

rosser Klasická matica pre testovanie algoritmov vlastných èísel.

toeplitz Toeplitzova matica.

vander Vandermondeova matica.

wilkinson Wilkinsonova matica pre test vlastných èísel.

14.5 Matematické funkcie (elfun, specfun)

Trigonometrické

sin Sínus.

sinh Hyperbolický sínus.

asin Arkussínus.

asinh Hyperbolický arkussínus.

cos Kosínus.

cosh Hyperbolický kosínus.

acos Arkuskosínus.

acosh Hyperbolický arkuskosínus.

tan Tangens.

tanh Hyperbolický tangens.

atan Arkustangens.

atan2 Uhol - polárna súradnica.

atanh Hyperbolický tangens.

sec Sekans.

sech Hyperbolický sekans.

asec Arkussekans.

asech Hyperbolický arkussekans.

csc Kosekans.

csch Hyperbolický kosekans.

acsc Arkuskosekans.

acsch Hyperbolický arkuskosekans.

cot Kotangens.

coth Hyperbolický kotangens.

acot Arkuskotangens.

acoth Hyperbolický arkuskotangens.

Exponenciálne

exp Exponenciálna.

log Prirodzený logaritmus.

log10 Dekadický logaritmus.

sqrt Druhá odmocnina.

20

Page 21: Matlab príručka

Komplexné

abs Absolútna hodnota.

angle Argument (fázový uhol).

conj Komplexne zdru¾ené.

imag Imaginárna èas».

real Reálna èas».

Numerické

fix Zaokrúhlenie k nule.

floor Zaokrúhlenie nadol.

ceil Zaokrúhlenie nahor.

round Zaokrúhlenie na najbli¾¹ie celé èíslo.

rem Zvy¹ok po delení.

sign Signum (funkcia znamienka).

©peciálne funkcie

besselj Besselova funkcia prvého druhu.

bessely Besselova funkcia druhého druhu.

besseli Modi�kovaná Besselova funkcia prvého druhu.

besselk Modi�kovaná Besselova funkcia druhého druhu.

beta Beta funkcia.

betainc Neúplna beta funkcia.

betaln Logaritmus beta funkcie.

ellipj Jacobiho eliptické funkcie.

ellipke Úplny eliptický integrál.

erf Chybová funkcia.

erfc Komplementárna chybová funkcia.

erfcx Vá¾ená komplementárna chybová funkcia.

erfinv Inverzná funkcia chybovej.

expint Integrál exponenciálnej funkcie.

gamma Gama funkcia.

gcd Najväè¹í spoloèný deliteµ.

gammainc Neúplna gama funkcia.

lcm Najmen¹í spoloèný násobok.

legendre Zdru¾ené Legendreove funkcie.

gammaln Logaritmus gama funkcie.

log2 Logaritmus pri základe 2, rozbor èísel.

pow2 Mocnina 2.

rat Racionálna aproximácia.

rats Racionálny výstup.

cart2sph Transformácia kartézskych súradníc na sférické.

cart2pol Transformácia kartézskych súradníc na polárne.

pol2cart Transformácia polárnych súradníc na kartézske.

sph2cart Transformácia sférických súradníc na kartézske.

14.6 Maticové funkcie - numerická lineárna algebra

(matfun)

Analýza matice

cond Èíslo podmienenosti v 2-norme.

norm Norma.

rcond Prevrátená hodnota podmienenosti v 1-norme.

rank Hodnos».

det Determinant.

trace Stopa.

null Nulový priestor.

orth Ortogonalizácia.

rref Redukovaný riadkový lichobe¾níkový tvar.

21

Page 22: Matlab príručka

Linear equations

\ a / Rie¹enie lineárnych rovníc; pou¾i help slash.

chol Choleského rozklad.

lu LU rozklad.

inv Inverzná matica.

qr Ortogonálno-trojuholníkový QR rozklad.

qrdelete QR rozklad bez urèeného ståpca.

qrinsert QR rozklad s pridaním ståpca.

nnls Nezáporné rie¹enie metódou najmen¹ích ¹tvorcov.

pinv Pseudoinverzia.

lscov Rie¹enie pri známych kovarianciách.

Vlastné a singulárne hodnoty

eig Vlastné hodnoty a vektory.

poly Charakteristický polynóm.

polyeig Polynomická úloha vlastných èísel.

hess Hessenbergov tvar.

qz Zov¹eobecnené vlastné hodnoty.

rsf2csf Prevod diagonálnych tvarov: reálneho blokového na komplexný.

cdf2rdf Prevod diagonálnych tvarov: komplexného na reálny blokový.

schur Schurov rozklad.

balance Podobná matica s lep¹ou podmienenos»ou.

svd Singulárny rozklad.

Maticové funkcie

expm Maticová exponenciálna funkcia.

expm1 Realizácia funkcie expm M-súborom.

expm2 Realizácia expm Taylorovými radmi.

expm3 Realizácia expm vlastnými hodnotami a vektormi.

logm Maticový logaritmus.

sqrtm Maticová druhá odmocnina.

funm V¹eobecná maticová funkcia.

14.7 Analýza dát a Fourierova transformácia (datafun)

Základné operácie

max Najväè¹ia zlo¾ka.

min Najmen¹ia zlo¾ka.

mean Aritmetický priemer.

median Medián.

std Smerodajná odchýlka.

sort Vzostupné usporiadanie.

sum Súèet zlo¾iek.

prod Súèin zlo¾iek.

cumsum Kumulatívny súèet zlo¾iek.

cumprod Kumulatívny súèin zlo¾iek.

trapz Pribli¾né integrovanie lichobe¾níkovou metódou.

Koneèné diferencovanie

diff Diferencia.

gradient Pribli¾ný gradient.

del2 Pä»bodový diskrétny Laplacian.

Vektorové operácie

cross Vektorový súèin.

dot Skalárny súèin.

22

Page 23: Matlab príručka

Korelácia

corrcoef Korelaèná matica.

cov Kovarianèná matica.

subspace Uhol podpriestorov.

Filtrovenie a konvolúcia

filter Jednorozmerný èíslicový �lter.

filter2 Dvojrozmerný èíslicový �lter.

conv Konvolúcia a násobenie polynómov.

conv2 Dvojrozmerná konvolúcia.

deconv Dekonvolúcia a delenie polynómov.

Fourierove transformácie

fft Diskrétna Fourierova transformácia.

fft2 Dvojrozmerná diskrétna Fourierova transformácia.

ifft Inverzná diskrétna Fourierova transformácia.

ifft2 Dvojrozmerná inverzná diskrétna Fourierova transformácia.

abs Absolútna hodnota.

angle Argument (fázový uhol).

unwrap Hlavná hodnota argumentu.

fftshift Posun prvého prvku do stredu.

cplxpair Zoraï èísla do komplexne zdru¾ených dvojíc.

nextpow2 Nasledujúca mocnina 2.

14.8 Polynómy, interpolácia a nelineárne numerické metódy

(polyfun, funfun)

Polynómy

roots Korene polynómu.

poly Zostroj polynóm daných koreòov.

polyval Hodnota polynómu.

polyvalm Hodnota polynómu s maticovým argumentom.

residue Rozklad na parciálne zlomky (rezídua).

polyfit Polynomická regresia.

polyder Derivácia polynómu.

conv Násobenie polynómov.

deconv Delenie polynómov.

Interpolácia

interp1 Jednorozmerná interpolácia.

interp2 Dvojrozmerná interpolácia.

interpft Jednorozmerná interpolácia pomocou Fourierovej transformácie.

griddata Doplnenie mrie¾ky dát interpoláciou.

Splajnová interpolácia

spline Kubická splajnová interpolácia.

ppval Hodnota zlo¾ky splajnu.

Funkcie funkcií - nelineárne numerické metódy

ode23 Rie¹enie systému diferenciálnych rovníc metódou ni¾¹ieho rádu.

ode23p Zobrazenie rie¹enia.

ode45 Rie¹enie systému diferenciálnych rovníc metódou vy¹¹ieho rádu.

quad Pribli¾né integrovanie metódou ni¾¹ieho rádu.

quad8 Pribli¾né integrovanie metódou vy¹¹ieho rádu.

fmin Bod minima funkcie jednej premennej.

fmins Bod minima funkcie viac premenných.

fzero Nulové body funkcie jednej premennej.

fplot Zobrazenie funkcie.

23

Page 24: Matlab príručka

14.9 Riedke matice (sparfun)

Elementárne riedke matice

speye Jednotková riedka matica.

sprandn Náhodná riedka matica.

sprandsym Symetrická náhodná riedka matica.

spdiags Riedka matica zostrojená z diagonál.

Prevod úplnej matice na riedku

sparse Vytvorenie riedkej matice.

full Prevod riedkej matice na úplnu.

find Indexy nenulových prvkov.

spconvert Prevod z vonkaj¹ieho formátu riedkej matice.

Práca s nenulovými prvkami riedkých matíc

nnz Poèet nenulových prvkov.

nonzeros Nenulové prvky.

nzmax Rozsah pamäte s nenulovými prvkami.

spones Nahradenie nenulových prvkov jednotkami.

spalloc Vyhraï pamä» pre nenulové prvky.

issparse Logická jednotka pre riedku maticu.

spfun Aplikuj funkciu na nenulové prvky.

Vizualizácia riedkých matíc

spy Vizualizácia riedkej ¹truktúry.

gplot Nakresli graf ako v teórii grafov.

Preusporiadajúce algoritmy

colmmd Permutácia ståpcov zvy¹ujúca riedkos» LU faktorov.

symmmd Permutácia zvy¹ujúca riedkos» Choleského faktora.

symrcm Permutácia zmen¹ujúca pro�l.

colperm Usporiadanie ståpcov podµa poètu nenulových prvkov.

randperm Náhodný permutaèný vektor.

dmperm Dulmage-Mendelsohnova dekompozícia.

Norma, podmienenos» a hodnos»

normest Odhad 2-normy.

condest Odhad èísla podmienenosti v 1-norme.

sprank ©trukturálna hodnos».

Stromové operácie

treelayout Aran¾ovanie stromu a lesa.

treeplot Zobrazenie stromu.

etree Eliminaèný strom matice.

etreeplot Zobrazenie eliminaèného stromu.

Rôzne

symbfact Symbolická analýza rozkladu.

spparms Nastav parametre pre procedúry s riedkými maticami.

spaugment Roz¹írený systém pre problém najmen¹ích ¹tvorcov.

24

Page 25: Matlab príručka

14.10 Gra�ka (plotxy, plotxyz, graphics)

Jednoduché XY grafy

plot Kreslenie priamok a bodov.

loglog Kreslenie v logaritmických ¹kálach.

semilogx Kreslenie v polologaritmickej ¹kále.

semilogy Kreslenie v polologaritmickej ¹kále.

fill Kreslenie plných dvojrozmerných polygónov.

©peciálne XY grafy

polar Kreslenie v polárnych súradniciach.

bar Ståpcový graf.

stem Stonkovitý graf.

stairs Schodovitý graf.

errorbar Graf s chybovými ståpcami.

hist Histogram.

rose Uhlový histogram.

compass Kompasový graf.

feather Perový graf.

fplot Zobrazenie funkcie.

comet Graf ako dráha kométy.

Anotácia grafu

title Názov grafu.

xlabel Oznaèenie osi X.

ylabel Oznaèenie osi Y.

text Text v grafe.

gtext Text umiestnený my¹ou.

grid Mrie¾ka.

Priestorové útvary a priamky

plot3 Priamky a body v trojrozmernom priestore.

fill3 Kreslenie trojrozmerných polygónov.

comet3 Dráha kométy v trojrozmernom priestore.

Vrstevnice a iné rovinné zobrazenia trojrozmerných dát

contour Vrstevnicové zobrazenie.

contour3 Trojozmerné vrstevnicové zobrazenie.

clabel Vý¹kové znaèky vrstevnicového grafu.

contourc Vrstevnicový výpoèet.

pcolor Pseudofarebné zobrazenie.

quiver Vektorové pole.

Plochy a sie»ové zobrazenia

mesh Trojrozmerná sie»ová plocha.

meshc Sie»ovo-vrstevnicové zobrazenie.

meshz Trojrozmerná sie» s rovinou minima.

surf Trojrozmerná tieòovaná plocha.

surfc Tieòovo-vrstevnicové zobrazenie.

surfl Trojrozmerná tieòovaná plocha s osvetlením.

waterfall Bez ståpcových èiar.

Priestorová vizualizácia

slice Farebné znázornenie funkcie troch premenných vo vrstvách.

25

Page 26: Matlab príručka

Vzhµad grafu

view Smer pohµadu na trojrozmerný graf.

viewmtx Transformaèné matice pohµadu.

hidden Re¾im skrytých priamok.

shading Re¾im farebného tieòovania.

colormap Vyhµadávacia tabuµka farieb.

Trojrozmerné objekty

cylinder Valcová plocha.

sphere Guµová sféra.

Vytváranie a riadenie grafických okien

figure Vytvor gra�cké okno.

gcf Ukazovateµ aktuálneho okna.

clf Vyma¾ aktuálne okno.

close Zatvor aktuálne okno.

Vytváranie a riadenie súradnicových osí

subplot Vytvor obrázky v tablièkách okna.

axes Vytvor osi v zvolených polohách.

gca Ukazovateµ aktuálnych osí.

cla Vyma¾ objekty zo súradnicového systému.

axis ©kála a vzhµad osí.

caxis Pseudofarebná ¹kála.

hold Zmraz aktuálny graf.

Ïal¹ie grafické objekty s ukazovateµom

line Priamky v existujúcom grafe.

text Text.

patch Plný uholník.

surface Plocha.

image Farebný obraz matice.

uicontrol Vytvor u¾ívateµské riadenie.

uimenu Vytvor u¾ívateµské menu.

Grafické operácie

set Nastav vlastnosti objektov.

get Vlastnosti objektov.

reset Nastav pôvodné vlastnosti objektov.

delete Vyma¾ gra�cký objekt alebo súbor.

gco Ukazovateµ objektu v aktuálnom obrázku.

drawnow Kompletizácia kreslenia.

newplot M-súborova preambula pre vlastnos» NextPlot.

findobj Nájdi objekty urèených vlastností.

Tlaè a ulo¾enie

print Tlaè alebo ulo¾ graf do súboru.

printopt Nastav kon�guráciu tlaèiarne.

orient Orientácia papiera.

capture Kópia aktuálneho obrázka.

Pohyb a animácia

moviein Inicializuj pamä» pre rámèeky.

getframe Rámèek aktuálneho obrázka.

movie Prehraj zaznamenané rámèeky.

26

Page 27: Matlab príručka

Rôzne

ginput Gra�cký vstup my¹ou.

ishold Stav prepínaèa hold.

graymon Nastav gra�cké okno pre èiernobiely monitor.

rbbox Roz»ahovací rámèek v aktuálnom obrázku.

rotate Otoèenie objektu okolo zvolene osi.

terminal Nastav typ gra�ckého terminála.

uiputfile Vytvor dialógové okienko pre ulo¾ené súbory.

uigetfile Vytvor dialógové okienko ¾iadajúce meno súboru.

whitebg Nastav biele pozadie pre gra�cké okno.

zoom Zaostri na dvojrozmernú kresbu.

waitforbuttonpress Èakaj na stlaèenie klávesy.

14.11 Farba, svetlo a zvuk (color, sounds)

Riadenie farieb

colormap Prehµad a nastavenie farieb.

caxis Pseudofarbná ¹kála.

shading Re¾im farebného tieòovania.

Farebné mapy

hsv Plnofarebná.

gray Lineárna èiernobiela ¹kála.

hot Èierno-èerveno-¾lto-biela.

cool Odtiene kyanidovej a èervenej.

bone Èiernobiela s odtieòom modrej.

copper Lineárna medeno tónovaná.

pink Pastelové odtiene ru¾ovej.

prism Ostro èlenená.

jet Varianta hsv.

flag Striedavo èervená, biela, modrá a èierna.

Funkcie farebnej mapy

colorbar Zobraz farebnú ¹kálu.

hsv2rgb Prevod mapy odtieò-sýtos»-jas na èerveno-zeleno-modrú.

rgb2hsv Opaèný prevod ako hsv2rgb.

contrast Èiernobiela mapa pre zvý¹enie kontrastu obrazu matice.

brighten Jas.

spinmap Cyklická rotácia farebnej mapy.

rgbplot Graf odpovedajúci farebnej mape.

Svetelné modely

surfl Trojrozmerná tieòovaná plocha s osvetlením.

specular Zrkadlenie.

diffuse Difúzia svetla.

surfnorm Normály plochy.

V¹eobecné funkcie zvuku

sound Preveï vektor na zvuk.

saxis Zvuková ¹kála.

Poèítaèovo ¹pecifikované funkcie zvuku

auwrite Zapí¹ �-kódovaný audio súbor.

auread Naèítaj �-kódovaný audio súbor.

wavwrite Zapí¹ MS Windows .WAV audio súbor.

wavread Naèítaj MS Windows .WAV audio súbor.

mu2lin Prevod � na lineárny.

lin2mu Prevod lineárneho na �:

27

Page 28: Matlab príručka

14.12 Textové re»azce (strfun)

V¹eobecné

strings O textových re»azcov v MATLABe.

abs Èíselný kód re»azca.

setstr Re»azec k odpovedajúcim kódom.

isstr Logická jednotka pre re»azec.

blanks Re»azec medzier.

deblank Odstráò prebytoèné medzery z konca.

str2mat Vytvor z re»azcov textovú maticu.

eval Interpretuj re»azec ako výraz.

Porovnávanie re»azcov

strcmp Porovnaj re»azce.

findstr Nájdi re»azec vo vnútri iného.

upper Preveï re»azec na veµké písmena.

lower Preveï re»azec na malé písmena.

isletter Logická jednotka pre písmena.

isspace Logická jednotka pre biele znaky.

strrep Nahraï re»azec iným.

strtok Prvé kµúèové slovo v re»azci.

Prevod re»azca a èísla

num2str Preveï èíslo na re»azec.

int2str Preveï celé èíslo na re»azec.

str2num Preveï re»azec na èíslo.

mat2str Preveï maticu na re»azec.

sprintf Zapí¹ formátované dáta do re»azca.

sscanf Naèítaj re»azec pri danom formáte.

©estnástková (hex) a desiatková sústava

hex2num Preveï hex na èíslo s pohyblivou bodkou.

hex2dec Preveï hex na celé desiatkové èíslo.

dec2hex Preveï celé desiatkové èíslo na hex.

14.13 Ni¾¹ie vstupné/výstupné súbory (iofun)

Otvorenie a zatvorenie súboru

fopen Otvor súbor.

fclose Zatvor súbor.

Neformátovaný vstup/výstup (v/v)

fread Èítaj binárne dáta zo súboru.

fwrite Zapí¹ binárne dáta do súboru.

Formátovaný v/v

fscanf Èítaj formátované dáta zo súboru.

fprintf Zapí¹ formátované dáta do súboru.

fgetl Èítaj zo súboru bez ohµadu na riadkovanie.

fgets Èítaj zo súboru s ohµadom na riadkovanie.

28

Page 29: Matlab príručka

Umiestnenie súboru

ferror Chybové hlásenie súvisiace s operáciou v/v.

feof Test pre koniec súboru.

fseek Nastav indikátor polohy v súbore.

ftell Indikátor polohy v súbore.

frewind Nastavenie smerníka na zaèiatok súboru.

Prevod re»azcov

sprintf Zapí¹ formátované dáta do re»azca.

sscanf Èítaj z re»azca pri riadení formátu.

WK1 formát

wk1const De�nície WK1 záznamu.

wk1read Naèítaj WK1 súbor/rad.

wk1write Zapí¹ z matice do WK1 formátovaného súboru.

wk1wrec Zapí¹ WK1 záhlavie.

CSV formát (hodnoty oddelené èiarkami)

csvread Naèítaj CSV formátovaný súbor do matice.

csvwrite Zapí¹ z matice do CSV formátovaného súboru.

ASCII oddeµovaný formát

dlmread Naèítaj ASCII oddeµovaný súbor do matice.

dlmwrite Zapí¹ z matice do ASCII oddeµovaného súboru.

14.14 Prezentácia MATLABu a demon¹trácie (demos)

Úvod

expo, demo Spusti MATLAB Expo.

expomap Spusti MATLAB Expo bez úvodnej obrazovky.

Matice

intro Úvod do MATLABu.

inverter Inverzná matica.

buckydem Pou¾itie riedkych matíc.

sparsity Efekt preusporiadania riedke matice.

matmanip Úvod do maticovej manipulácie.

delsqdemo Koneèný Laplacian.

sepdemo Separátory siete koneèných prvkov.

airfoil Riedka matica v letectve.

Numerická matematika

fununs Funkcie funkcií.

fitdemo Nelineárna regresia.

sunspots Periodiènos» poètu slneèných ¹kvàn.

e2pi Èo je viac e� alebo �e?

bench Vá¹ poèítaè z hµadiska MATLABu.

odedemo Jednoduché diferenciálne rovnice.

quaddemo Adaptívne metódy integrovania.

zerodemo Nulový bod.

fplotdemo Zobrazenie funkcie.

eigmovie Vlastné hodnoty.

rrefmovie Výpoèet redukovaného riadkového lichobe¾níkového tvaru.

fftdemo Pou¾itie rýchlej koneènej Fourierovej transformácie.

quake Zemetrasenie pri Santa Cruz.

census Predpoveï populácie USA v roku 2000.

spline2d Demon¹trácia ginput a spline v rovine.

29

Page 30: Matlab príručka

Vizualizácia

graf2d Demon¹trácia XY zobrazení.

graf2d2 Demon¹trácia XYZ zobrazení.

grafcplx Demon¹trácia zobrazení komplexnej funkcie.

lorenz Dráha Lorenzovho chaotického atraktora.

xpsound Demon¹trácia zvuku.

vibes Chvenie L-uchytenej membrány.

xpklein Kleinova fµa¹a.

xfourier Gra�ka pre Fourierove rady.

cplxdemo Funkcie komplexne premennej.

peaks Vybraná funkcia dvoch premenných.

membrane Logo MathWorks.

penny Niekoµko pohµadov na mincu.

earthmap Topogra�a Zeme.

sqdemo Superkvadriky s pou¾itím uicontrol.

imagedemo Demon¹trácia zobrazovania matice.

colormenu Farebné menu k aktuálnemu obrázku.

Jazyk

xplang Úvod do jazyka MATLAB.

graf3d Demon¹trácia gra�ckých volieb pri kreslení plôch.

hndlgraf Demon¹trácia gra�ckých volieb pri kreslení èiar.

hndlaxis Demon¹trácia gra�ckých volieb pre súradnicové osi.

30