Matlab, laborato� nejen pro matematiky


Pavel P��a


�l�nek byl naps�n pro �asopis Sd�lovac� technika

Dal�� podobn� �l�nky lze naj�t na n�sleduj�c�ch adres�ch [1] [2]


Tento �l�nek se bude sna�it p�ibl��it mo�nosti a z�kladn� pou�it� syst�mu Matlab i neinformovan�mu �ten��i. Vzhledem k d�lce textu budou uk�z�ny pouze z�kladn� konstrukce jazyku Matlabu. Dal�� modern� vlastnosti a oblasti pou�it� syst�mu budou pouze nast�n�ny.

Obsah

1  Skladba syst�mu
2  Z�klady pr�ce s maticemi
3  Funkce a jazyk Matlabu
4  Vizualizace a grafika
5  Toolboxy - bal�ky v�domost�
6  Simulink
7  Z�v�r

1.  Skladba syst�mu

Image for: 1. Skladba syst�mu

P�vodn� Matlab vznikl jako interaktivn� nadstavba pro usnadn�n� pr�ce s knihovnami LINPACK a EISPACK pro pr�ci s maticemi. Z�kladn�m typem byly matice, kter� na rozd�l od v�t�iny jin�ch syst�m� a jazyk� nevy�adovaly nastavov�n� dimenz�.

Sou�asn� Matlab je mnohem v�ce ne� jen nadstavbou maticov� knihovny.

Syst�m obsahuje vlastn� interpretr jazyku MATLAB, ve kter�m lze p�ipravit jak d�vkov� soubory, tak definovat i nov� funkce. Tyto funkce mohou b�t interpretov�ny bu� p��mo z textov� podoby soubor� naz�van�ch m-file nebo z p�edzpracovan� podoby p-file. Syst�m d�le umo��uje p�id�vat moduly ( soubory mex-file ) zkompilovan� do strojov�ho k�du procesoru. Jazykem zdrojov�ch soubor� m��e b�t jazyk C, C++, Fortran nebo po pou�it� mcc ( Matlab to C Compiler) i funkce ulo�en� v m-file.

V prost�ed�ch, kde je mo�n� grafick� v�stup, je k dispozici velmi siln� podpora pro tvorbu u�ivatelsk�ho prost�ed� a vizualizaci dat. Z�kladn� funkce umo��uj� vizualizaci 2D a 3D dat v grafech s mno�stv�m voliteln�ch parametr�, kter� lze po dopln�n� legendou a popisy os snadno vytisknout. Syst�m umo��uje i tvorbu vlastn�ch dialog� a oken s kombinacemi graf�, tla��tek, list� a dal��ch objekt�, kter�m mohou b�t p�i�azeny volan� funkce v m-file. Dob�e je obslou�eno i ukazovac� za��zen� - my�.

Pro tvorbu samostatn� spustiteln�ch aplikac� je k dispozici Matlab library.

Asi nejd�le�it�j�� ��st� instalace Matlabu jsou ''knihovny'' funkc� ( ve skute�nosti adres��e s m a mex soubory ), kter� jsou naz�v�ny toolboxy. Toolboxy obsahuj� v�dy ucelen�m zp�sobem v�etn� dokumentace a p��klad� zpracovan� ur�it� obor numerick� matematiky, analytick� matematiky, statistiky, syst�mov�ho p��stupu k regulac�m a dal�� obory, ve kter�ch nach�z� Matlab uplatn�n�.

Samostatnou kapitolu tvo�� Simulink. Jedn� se o toolbox, kter� se v�ak prol�n� i s vlastn�m programem matlab. V grafick�m intuitivn�m prost�ed� Simulinku lze snadno schematicky zn�zornit t�m�� liboboln� dynamick� syst�m a prov�st simulaci jeho chov�n�. Diskr�tn� i spojit� ��sti syst�m� lze libovoln� kombinovat, mohou obsahovat p�eddefinovan� i u�ivatelsk� neline�rn� funkce. Lze p�id�vat i nov� syst�mov� bloky definovan� jak v m-file tak v mex-file.

RTW - Real Time Workshop je dal�� velmi modern�m n�strojem ur�en�m pro v�voj regula�n�ch algoritm�, kter� mohou b�t po kompilaci provozov�ny v re�ln�m �ase. Tento toolbox provede n�kolika�rov�ov� p�eklad sch�matu ze syst�mu Simulink do strojov�ho jazyku c�lov�ho procesoru. Blokov� sch�ma je nejd��ve p�elo�eno do zdrojov� formy jazyku C. V t�to f�zi je dopln�no o funkce obsluhy p�eru�en�, komunikace s periferiemi, u�ivatelem definovan� funkce v jazyku C. Nakonec je zavol�n kompil�tor jazyku C pro po�adovanou c�lovou platformu. Tou m��e b�t bu� po��ta� provozuj�c� Matlab ( vhodn� pro kontrolu a zrychlen� b�hu simulace v Simulinku ) nebo p��mo hardware ur�en� pro ��zen� v re�ln�m �ase. Jako c�lov�ch procesor� se v druh�m p��padu v�t�inou pou��v� v�konn�ch DSP ( digital signal processing ) mikrokontrol�r�. Existuje n�kolik firem dod�vaj�c�ch p��mo hardware s podporou pro RTW. Autor m� zku�enosti s ��d�c� deskou od firmy D-Space osazenou procesorem TMS320C31 od Texas Instruments.

Pro u�ivatele syst�mu Windows 95 m��e b�t zaj�mav� i produkt �esk� firmy Humusoft Real Time Toolbox. Tato nadstavba umo��uje vzorkov�n� a ukl�d�n� p��choz�ch dat z vstupn� v�stupn�ch port�, vys�l�n� p��mo definovan� hodnoty nebo pr�b�hu ulo�en�ho v pam�ti a definov�n� propojen� mezi vstupy a v�stupy p�es line�rn� diskr�tn� MIMO ( s v�ce vstupy i v�stupy ) regul�tory. Nejnov�j�� verze by m�ly b�t schopny i propojen� vstup� a v�stup� p�es libovoln� schematick� diagram definovan� v Simulinku.

Po v��tu z�kladn�ch vlastnost� syst�mu Matlab si ji� �ten�� m��e l�pe p�edstavit uplatn�n� syst�mu v typick�ch oblastech pro jeho pou�it� tak, jak je ud�v� n�vod k syst�mu Matlab:

Dal��m d�le�it�m �dajem je v��et opera�n�ch syst�m� a architektur, na kter�ch lze Matlab provozovat. Matlab existuje ve verz�ch pro Windows 95, Windows NT i Windows 3.1 a ve verz�ch pro Unixov� platformy. V n�sleduj�c� tabulce jsou obsa�eny platformy podporovan� v Unixov� verzi Matlabu 5.2.

Sun Sparc sun4 SunOS 4.1.4
Sun Sparc sol2 Solaris 2.5
HP 9000 PA-RISC hp700 HP-UX 10.20
DEC Alpha alpha Digital UNIX 4.0C
IBM RS/6000 ibm_rs AIX 4.2
Silicon Graphics sgi IRIX 6.3
Silicon Graphics sgi64 IRIX64 6.4
Linux lnx86 Linux 2.0.1

V tabulce je v�dy uveden n�zev platformy, pou�it� koncovka pro zkompilovan� mex-soubory, opera�n� syst�m a minim�ln� verze syst�mu nutn� ke b�hu software.

Autor m� praktick� zku�enosti s verzemi Matlabu 4.2c pro Windows a s verz� 5.2 pro opera�n� syst�m Linux. V dal��m textu bude jako z�kladn� popisovan� verze 5.2 pro Linux. Na roz���en� proti verzi 4.2c bude upozorn�no.

2.  Z�klady pr�ce s maticemi

Image for: 2. Z�klady pr�ce s maticemi

Program se spou�t� p��kazem matlab z opera�n�ho syst�mu nebo poklepem na ikonu v grafick�m prost�ed�. Po spu�t�n� se objev� prompt p��kazov� ��dky Matlabu. Program je mo�no opustit p��kazem quit. K prvn� pomoci slou�� p��kaz help a k vyvol�n� kompletn� dokumentace p��kaz helpdesk. K Unixov� verzi je dod�v�na dokumentace jak ve form�tu HTML tak ve form�tu PDF ( k zobrazen� slou�� Adobe Acrobat Reader ).

Matlab ve sv�m z�kladu, jak ji� bylo �e�eno, je zam��en p�edev��m na snadnou pr�ci s maticemi. Pro snadn� pochopen� budou uvedeny p��klady. Matice je mo�n� z prvk� nebo matic skl�dat jejich vlo�en�m mezi symboly [ ]. Jednotliv� prvky ( nap��klad ��sla ) se odd�luj� ve vodorovn�m sm�ru znakem mezera nebo ��rka a ve svisl�m sm�ru znakem konce ��dky nebo st�edn�k. Pro skl�d�n� prvk� plat�, �e v�sledn� matice mus� b�t �tvercov� nebo obd�ln�kov� ( mus� obsahovat ve v�ech ��dc�ch shodn� po�et z�kladn�ch prvk� - komplexn�ch nebo re�ln�ch hodnot ). V n�sleduj�c�ch p��kladech bude pou��v�no krat�� symboliky se st�edn�kem a ��rkou.

A=[11,12; 21,22]

Tento p��kaz definuje matici A rozm�ru 2×2 . P��kaz je mo�no zadat bu� p��mo za prompt v p��kazov� ��dce po spu�t�n� programu matlab, nebo do m-souboru. P�i odesl�n� p��kazu z p��kazov� ��dky dojde k vytvo�en� prom�nn� A a je vyps�n jej� obsah.

>> A=[11,12;21,22]

A =

    11    12

    21    22

Obdobn� lze definovat sloupcov� vektor v nebo ��dkov� vektor u.

v=[1;2]   u=[3,4]

D�le�itou vlastnost� je mo�nost skl�dat nejen ��seln� hodnoty a skal�rn� prom�nn�, ale i mo�nost skl�dat a roz�i�ovat matice. To ilustruje n�sleduj�c� p��klad.

>> B=[A,v;u,0]

B =

    11    12     1

    21    22     2

     3     4     0

V�dy je ov�em nutno dodr�et pln� obd�ln�kov� nebo �tvercov� tvar v�sledn� matice.

Opakem ke skl�d�n� prvk� do matic je indexov�n� matic. K indexov�n� matic se pou��v� znak� kulat� z�vorky, mezi kter� se vlo�� indexy po�adovan�ho prvku odd�len� ��rkou. Pozor : shodn�ho typu z�vorek je pou�ito i k uzav�r�n� vstupn�ch parametr� p�i vol�n� funkc�.

>> A(2,1)

ans = 

      21

D�le�it� je pamatovat si, �e indexy se zad�vaj� v po�ad� ��dek, sloupec a indexov�n� za��n� prvkem (1,1). Od verze Matlabu 5 je mo�n� pracovat i s v�cerozm�rn�mi poli ( N-D arrays ), pak jsou indexy uspo��d�ny podle jednotliv�ch dimenz� pole. Pro indexaci sloupcov�ch i ��dkov�ch vektor� sta�� zadat do z�vorek pouze jednu hodnotu, dokonce na pole libovoln� dimenze lze pohl��et jako na vektor vypl�uj�c� pole postupn� od prvn� k dal��m dimenz�m. Pro 2D matici to znamen� slo�en� jej�ch sloupc� postupn� pod sebe.

>> A(3)

ans =

    12

Dal�� z�kladn� operac� je tvorba transponovan� matice. Doc�l� se p�id�n�m znaku apostrof za ur�en� matice. T�m m��e b�t jak jm�no ji� definovan� prom�nn� tak i slo�en� prvk� hranat�mi z�vorkami.

>> A'             

ans =

    11    21

    12    22

Nyn� si m��eme vyzkou�et sv� znalosti maticov�ho a vektorov�ho po�tu. V�t�ina obvykl�ch operac� je roz���ena i na matice. Seznam z�kladn�ch operac� lze z�skat po odesl�n� p��kazu help ops.

Z�kladn� operace aplikovateln� na matice jsou s��t�n� a od��t�n� .. + a - , un�rn� plus a minus .. + a - , maticov� n�soben� .. * , umoc�ov�n� matice skal�rem a skal�ru matic� .. ^ a d�len� matic. Proto�e Matlab umo��uje i d�len� obd�ln�kov�ch matic ( nelze po��tat p�es funkci determinant .. det ) jsou k dispozici dv� operace, prav� a lev� maticov� d�len� ... / a \ . N�kter� operace je mo�no prov�d�t i po prvc�ch ( prov�d� se skal�rn� operace mezi odpov�daj�c�mi si prvky matic shodn� dimenze ). Pro tyto operace jsou pou�ity obvykl� symboly s p�idan�m znakem . .. .* , .^ , ./ a .\ .

D�le jsou k dispozici rela�n� operace ( rovnost .. == , nerovnost .. ~= , men�� .. <  , v�t�� .. >  , men�� rovno .. < = a v�� rovno .. > = ), jejich� v�sledkem jsou matice, ve kter�ch ��seln� hodnota 1 ozna�uje pozice, pro kter� byla relace spln�na. Ostatn� prvky obsahuj� hodnotu 0. Matice v relaci mus� b�t shodn� dimenze, nebo alespo� jedna strana mus� b�t skal�r.

P�i matematick�ch v�po�tech jsou �asto pot�eba �ady. Pro jednoduch� z�pis vzestupn�ch aritmetick�ch �ad ( vektor� a interval� ) se pou��v� znak : . Vzestupnou �adu ( vektor ) s inkrementem jedna od hodnoty K do hodnoty L lze zapsat jako K:L . Je-li pot�eba definovat jin� inkrement ne� 1, lze pou��t z�pis K:D:L , kde D je hodnota inkrementu. T�to notace lze s v�hodou pou��t tak� p�i v�b�ru prvk� z matice. Matlab umo��uje p�i indexaci pou��t krom� skal�rn�ch index� i vektor� a interval�, v�sledkem je pak matice slo�en� z prvk� s vybran�mi hodnotami index�. P�i indexaci je mo�n� pou��t i speci�ln� notace pro v�echny hodnoty dan�ho indexu ( samotn� znak : ) a pro v�b�r v�ech prvk� od indexu K do maxim�ln� hodnoty indexu dan� dimenze z�pis K:end .

>> B(2:end,[1,3]) 

ans =

    21     2

     3     0

Pro pr�ci s maticemi je p�eddefinov�no velk� mno�stv� funkc�. Zde je uvedeno jen n�kolik nejpou��van�j��ch z nich. size(A) vrac� vektor rozm�r� matice v jednotliv�ch dimenz�ch. size(A,D) vrac� maxim�ln� hodnotu indexu v dimenzi ( sm�ru ) D. zeros(N,M,...) vytv��� podle po�tu vstupn�ch parametr� matici nebo N-D pole rozm�r� dan�ch parametry napln�n� nulami. S jedn�m vstupn�m parametrem vytv��� �tvercovou matici. Obdobn� ones napln� matici nebo pole jedni�kami. eye(N) vrac� jednotkovou ( diagon�ln� ) matici. exp(A) umoc�uje Eulerovo ��slo matic� A. det(A) po��t� determinant matice. sum(A) se�te prvky v prvn� dimenzi s nejednotkov�m rozm�rem a vrac� je v poli se zmen�enou dimenz� ( v p��pad� matic vrac� vektor sou�t� sloupc�, pln� definice odpov�d� N-D pol�m pro verzi Matlabu 5 ). Je-li t�eba dimenzi, p�es kterou se bude s��tat, specifikovat lze pou��t z�pis sum(A,D). Shodn� vlastnosti jako sum maj� i funkce sou�in prvk� .. prod , maximum .. max , minimum .. min ,alespo� jeden nenulov� prvek .. any , v�echny nenulov� prvky .. all a n�kter� dal�� funkce. Podobn� jsou t� funkce cumsum a cumprod , kter� v�ak nesni�uj� dimenzi pole, ale ukl�daj� do ka�d�ho prvku kumulativn� sou�et/sou�in prvk� do dan� hodnoty indexu.

V�t�inou pro vyhodnocen� rela�n�ch operac� se pou��v� funkce find , vracej�c� vektor index�, pro kter� argument obsahuje nenulov� hodnoty. �pln� popis lze z�skat po odesl�n� p��kazu help find.

Ve�ker� operace jsou definov�ny i pro komplexn� ��sla. N�sleduj� n�kter� z funkc� ur�en�ch pro pr�ci s komplexn�mi ��sly. Re�ln� ��st .. real , imagin�rn� ��st .. imag , absolutn� hodnota .. abs , p�irozen� logaritmus .. log a dal�� funkce.

Syst�m Matlab umo��uje ukl�dat a na��tat matice do nebo ze souboru. Soubor m��e b�t bu� textov�, pak obsahuje hodnoty pouze z jedn� matice, nebo bin�rn�. Do bin�rn�ho souboru lze ulo�it specifikovan� prom�nn� a nebo ve�ker� prom�nn� existuj�c� v dan�m okam�iku v prost�ed� Matlabu. �pln� popis lze z�skat po odesl�n� p��kazu help load, save. Pro sledov�n� a uvol�ov�n� aktu�ln� nadefinovan�ch prom�nn�ch v prost�ed� slou�� p��kazy who , whos a clear .

Na z�v�r pojedn�n� o matic�ch by bylo spr�vn� uv�st alespo� n�znakem p�ehled typ� matic, se kter�mi m��e Matlab pracovat. Matice s re�ln�mi nebo komplexn�mi ��sly mohou b�t bu� pln� ( full ) nebo ��dk� ( sparse ), kter� obsahuj� velk� mno�stv� nulov�ch prvk�. D�le existuje typ matice textov�, kter� odpov�d� poli textov�ch �et�zc� v jin�ch syst�mech. Textov� konstanty se zad�vaj� vlo�en�m posloupnosti znak� mezi apostrofy ( ' ). Ve verzi Matlabu 5 bylo mno�stv� z�kladn�ch typ� v�razn� roz���eno. Je mo�n� pou��vat celo��seln� pole s prvky r�zn� bitov� d�lky s a bez znam�nka ( int8, uint8, int16, uint16, int32 a uint32 ). D�le lze definovat struktury, pole prvk� s rozd�ln�mi typy ( cell array ) a definovat nov� typy. Pro jednotliv� typy mohou b�t definov�ny specifick� funkce podobn� metod�m v objektov� orientovan�ch jazyc�ch.

3.  Funkce a jazyk Matlabu

Image for: 3. Funkce a jazyk Matlabu

Matlab podporuje funkce s r�zn�m po�tem vstupn�ch i v�stupn�ch parametr�. P�i definici funkce jsou nadefinov�na form�ln� jm�na vstupn�ch a v�stupn�ch parametr�. P�i vol�n� funkce nen� nutn� naplnit v�echny vstupn� parametry a ukl�dat hodnoty v�ech v�stupn�ch parametr�. V t�le volan� funkce jsou pak nepou�it� vstupn� parametry nedefinov�ny a funkce nesm� ��st hodnoty t�chto parametr�. K informaci o po�tech parametr� slou�� funkce nargin a nargout . Jako p��klad je uvedena velmi jednoduch� implementace diskr�tn� Fourierovy transformace. Prvn� vstupn� parametr x je �asov� posloupnost hodnot ( v nejjednodu���m p��pad� se jedn� o sloupcov� vektor ). Druh� vstupn� parametr k je vektor frekvenc�, pro kter� m� b�t DFT po��t�na. Nen�-li uveden je DFT po��t�na pro standardn� vektor frekvenc� z definice komplexn� DFT. Funkce vrac� komplexn� vektor, je-li v�sledek ulo�en jen do jedn� matice. Jsou-li pln�ny v�sledkem dv� matice, ulo�� se do prvn� velikosti amplitud a do druh� f�zov� posunut�. Funkce je nadefinov�na takov�m zp�sobem, �e umo��uje prov�st DFT i pro N-D pole, kde prvn� index p�edstavuje �as a ostatn� soubory hodnot v �ase, nap��klad pro 3-D se m��e jednat o �asovou posloupnost matic.

function [F,A]=my_dft(x,k);

% very simple DFT implementation

  n=size(x,1);

  if nargin<2

    k=[0:n-1]';  % default

  end

  if size(k,2)>1

    k=k';        % for N-D

  end;

  F=(exp(-j/n*2*pi*k*[0:n-1])*x)/n;

  if nargout>1

    A=angle(F);

    F=abs(F);

  end;

return

D�le�it� upozorn�n�. Matlab pova�uje ve�ker� obsah ��dky za znakem % za koment��. Definice funkce mus� b�t obsa�ena v prvn� ��dce souboru. Souvisl� blok koment��e za��naj�c� od druh� ��dky a ozna�en� znakem % v prvn�m sloupci bude vyps�n p��kazem help jm�no_funkce . P��kazy obsahuj�c� p�i�azen� nebo vol�n� funkc� je ve funkc�ch vhodn� ukon�ovat znakem , jinak p�i ka�d�m proveden� p��kazu dojde k vyps�n� hodnot pln�n�ch prom�nn�ch.

Funkci je t�eba ulo�it do souboru s n�zvem shodn�m se jm�nem funkce a s p��ponou .m . Aby Matlab nalezl p��slu�nou funkci ( m-file ) mus� se nach�zet v aktu�ln�m adres��i nebo v adres��i obsa�en�m v cest� k soubor�m ( funkce matlabpath a path ). V��e uvedenou funkci my_dft lze pak volat nap��klad n�sledovn�

my_dft(X)      % vyp��e komplexn� DFT

F=my_dft(X);   % vrac� vektor hodnot a nic nevypisuje

[Amp,Ph]=my_dft(X,1:10));

Posledn� p��klad po��t� amplitudy a f�zov� posuny pro frekvence odpov�daj�c� sign�l�m o jedn� a� deseti period�ch v p�vodn�ch datech.

Informace o z�kladn�ch konstrukc�ch jazyku jsou dostupn� po odesl�n� p��kazu help if , elseif , end , for , while a switch .

V m-souborech Matlabu verze 5 lze t� definovat lok�ln� funkce pro opakuj�c� se operace pou�it� v hlavn� funkci. Z�rove� je mo�n� definovat funkce s prom�nn�m po�tem parametr� bez omezen�. K tomu slou�� symboly varargin a varargout.

4.  Vizualizace a grafika

Image for: 4. Vizualizace a grafika

Nejjednodu���m p��kazem pro zobrazen� z�vislosti dvou prom�nn�ch nebo pr�b�hu jedn� prom�nn� je p��kaz plot . Zobrazovan� data jsou p�ed�v�na ve form� sloupcov�ch vektor�. Obecn� m� p��kaz podobu plot(X,Y,S,...) , kde X a S mohou b�t vynech�ny. Vykreslen� dvou period funkce sinus zajist� p��kaz plot(sin(0:0.01:4*pi)') . Transpozice na sloupcov� vektor nen� v tomto p��pad� nezbytn� nutn�, plot je inteligentn�. V takto vykreslen�m grafu bude m�t osa x v�znam hodnoty indexu v p�edan�m vektoru. Proto by bylo vhodn�j�� nadefinovat prom�nnou X=[0:0.01:4*pi]' d�le prom�nnou Y=sin(X) a pou��t del�� formy p��kazu plot . Textov� parametr S specifikuje barvu a zp�sob vykreslen� pr�b�hu. Skupinu parametr� X,Y,S lze i n�kolikr�t opakovat Z�rove� parametr Y nemus� b�t jen sloupcov� vektor. V�ce sloupcov�ch vektor� slo�en�ch do matice provede vykreslen� n�kolika pr�b�h�. �pln� forma p��kazu plot je vyu�ita v n�sleduj�c�m p��kladu.

X=[0:0.01:4*pi]'

plot(X,[sin(X)./X],'k-',X,[sin(X),cos(X)],'k--')

Jedn� se o vykreslen� pr�b�hu funkce [sinx/x] , kter� se �asto pou��v� pro rekonstrukci navzorkovan�ch sign�l�. Pro �vahu nad jej�m pr�b�hem jsou p�id�ny funkce sinx a cosx . Specifikace znakem 'k' definuje �ernou barvu, znakem '-' plnou a znaky '- -' ��rkovanou ��ru. P��kazy title , xlabel , ylabel a text lze graf doplnit popisy. V�sledn� graf lze vytisknout nebo exportovat do souboru. V syst�mu Windows lze t� pou��t k p�enosu do jin�ch aplikac� schr�nku.


Matlab umo��uje vykreslit v�ce graf� do jednoho okna, a to jak p�es sebe ( hold on ) tak i vedle a pod sebe ( subplot ). Je mo�n� libovoln� m�nit m���tka os, pou��vat logaritmick� a semilogaritmick� zobrazen�. Funkce mesh vykresluje z matic 3-D grafy.

Grafick� subsyst�m Matlabu je dob�e strukturovan� a umo��uje snadnou manipulaci s grafy a dialogy na libovoln� �rovni. Prostorem pro libovoln� grafick� v�stup i vstup je grafick� okna ( funkce figure ), kter�ch m��e b�t m��e b�t otev�eno t�m�� libovoln� mno�stv�. Do ka�d�ho okna je mo�no vkl�dat dal�� grafick� objekty ( grafy, tla��tka, posuvn� li�ty, edita�n� vstupy, v�b�rov� listy a ostatn� prvky obvykl� pro u�ivatelsk� rozhran�). V��e uveden� funkce pro vykreslov�n� pr�b�h� a ploch jsou pouze funkce vy��� �rovn� vyu��vaj�c� objektov�ch vlastnost� grafick�ho subsyst�mu. Plot zjednodu�en� odpov�d� tvorb� nov�ho grafick�ho okna ( kdy� je to pot�eba ), vlo�en� objektu axes ( osy grafu ) a vlo�en� jednotliv�ch lomen�ch �ar ( line ) do takto vytvo�en�ho objektu. Je-li pot�eba pracovat s v�ce okny a nebo objekty je mo�no vyu��t ��sel p�i�azen�ch ka�d�mu oknu i objektu ( handle ). K hodnot�m jednotliv�ch vlastnost� objekt� lze pak p�istupovat p�es funkce get a set . ��slo handle je v�dy vr�ceno p�i tvorb� objektu a je nutn� si ho pamatovat v n�jak� prom�nn�. Druhou mo�nost� jak z�skat handle k n�kter�mu objektu, je hled�n� objekt� podle jm�na, kter� jim m��e b�t p�i�azeno b�hem jejich vytv��en�, a nebo proch�zen� stromu objekt�, kter� za��n� neviditeln�m objektem 0. V�t�in� objekt� je mo�no p�i�adit sekvence p��kaz� ( v�etn� vol�n� funkc� a m-file ), kter� maj� b�t provedeny p�i ur�it�ch ud�lostech ( nap��klad kliknut� my��, odesl�n� nov� hodnoty atd. ).

Pro tvorbu slo�it�ch dialog� je k dispozici krom� mnoha funkc� vy��� �rovn� i kompletn� n�vrh�� dialog� a oken, kter� se spou�t� p��kazem guide . Zaj�mavost� je, �e cel� tento n�vrh��, srovnateln� s mnoha programy ur�en�mi pouze pro tvorbu GUI, je cel� naps�n a interpretov�n z m-soubor� napsan�ch v jazyku Matlabu.

5.  Toolboxy - bal�ky v�domost�

Image for: 5. Toolboxy - bal�ky v�domost�

Jedn� se o souhrn metod a v�domost� snad ze v�ech obor�, ve kter�ch se vyu��v� exaktn�ho matematick�ho nebo ��seln�ho vyjad�ov�n�. Krom� knihoven pro statistiku, aproximace a prokl�d�n� funkc� a dal��ch obvykl�ch sou��st� i jin�ch matematick�ch syst�m� obsahuje bal�ky pro indentifikaci, modelov�n� a n�vrh ��zen� i slo�it�ch syst�m�, filtrace, komprese a zpracov�n� obraz� a dal��. N�kter� bal�ky obsahuj� i p�eddefinovan� modely pro ov��ov�n� dynamick�ch vlastnost� syst�m� v Simulinku . V�t�ina bal�k� obsahuje i demonstra�n� p��klady, s jejich� pomoc� je mo�n� snadno p�ej�t k �e�en� vlastn�ch probl�m�.

Popis ka�d�ho z asi 35 dostupn�ch toolbox� by vydal na samostatn� �l�nek. Proto jen pro nast�n�n� mo�nost� n�sleduje uk�zka bez v�t��ho koment��e z toolboxu pro symbolickou matematiku.

>> syms x y z          

>> z=x^y+y^x+sin(1/x)

z =

x^y+y^x+sin(1/x)

>> int(z,x)          

ans =

x^(y+1)/(y+1)+1/log(y)*y^x+sin(1/x)*x-cosint(1/x)

>> 

Po zaveden� symbolick�ch prom�nn�ch v prost�ed� Matlabu byl nadefinov�n vztah z v z�vislosti na x a y . Pot� byla provedena integrace p�es x . Stejn� snadno lze �e�it derivace a soustavy i neline�rn�ch rovnic. Symbolick� toolbox je zalo�en na knihovn� Maple a je dopln�n pro demonstraci interaktivn� funk�n� kalkula�kou, kter� ve�ker� operace prov�d� analyticky a pr�b�hy funkc� krom� analytick�ch vztah� zobrazuje graficky.

6.  Simulink

Image for: 6. Simulink

Simulink postupn� p�erostl z knihovny funkc� ur�en� k simulaci jednoduch�ch line�rn�ch spojit�ch a diskr�tn�ch syst�m� v samostatn� subsyst�m s dokonal�m u�ivatelsk�m rozhran�m. Z�kladem Simulinku jsou bloky, kter� reprezentuj� element�rn� dynamick� syst�my. Propojen�m sign�lov�ch vstup� a v�stup� t�chto blok� vznikaj� modely slo�it�j��ch syst�m�. Libovolnou skupinu blok� lze uzav��t do subsyst�mu a ur�it extern� vstupy a v�stupy t�to skupiny. D�le lze pracovat s takovouto skupinou jako se z�kladn�mi blokem. Je li pot�eba zast�nit prom�nn� parametry blok� uvnit� skupiny, lze uzav�enou skupinu zamaskovat a doplnit informacemi, kter� vytvo�� p�i modifikaci parametr� bloku dotazov� dialog a postaraj� se o p�epo��t�n� a p�enesen� zadan�ch parametr� dovnit� do zamaskovan� skupiny. Pro zamaskovanou skupinu lze tak� vytvo�it grafickou reprezentaci skupiny, kter� se m��e b�t i z�visl� na nastaven�ch parametrech. K v�po�t�m parametr� lze u��t v�ech forem v�raz� a vol�n� funkc�, kter� Maltab umo��uje.

Interaktivn� zp�sob tvorby a simulace model� se spou�t� z p��kazov� ��dky syst�mu Matlab p��kazem simulink . Po spu�t�n� je vytvo�eno okno pro tvorbu nov�ho modelu a okno obsahuj�c� z�kladn� nab�dku otv�r�n� knihoven zdroj� sign�l�, z�kladn�ch spojit�ch, diskr�tn�ch a neline�rn�ch blok� a blok� pro zobrazov�n� a ukl�d�n� sign�l�. Pod touto interaktivn� ob�lkou se skr�v� syst�m velmi podobn� grafick�mu subsyst�mu s obdobn�mi funkcemi simget a simset . Dal�� vrstva funkc� umo��uje ji� komfortn�j�� neinteraktivn� tvorbu model� syst�m�. Pro obvykl�ho u�ivatele v�ak nen� nutn� o implementaci a programov�n� model� p�em��let.

Z�kladn� a ji� d�le ned�liteln� jsou pouze bloky obsahuj�c� takzvan� s-funkce. Jedn� se o zabudovan� funkce, mex-soubory a nebo o obvykl� interpretovan� funkce ulo�en� v m-souborech. Tyto funkce maj� p�edepsan� parametry a chov�n� pro r�zn� druhy vol�n�. Pro spojit� syst�my v jednoduchosti informuj� o okam�it�ch hodnot�ch derivac� a v�stup� bloku pro diskr�tn� bloky o p���t�ch hodnot�ch v�stup� p�i zadan�ch vstupn�ch hodnot�ch. Jednoduch� neline�rn� bloky lze tak� vytv��et vlo�en�m libovoln�ho p��pustn�ho v�razu v jazyku Matlabu do k tomu ur�en�ho bloku.

Simulink je schopen simulovat sm��en� syst�my obsahuj�c� spojit� ��sti, diskr�tn� ��sti i s r�zn�mi periodami vzorkov�n� a s posunut�mi okam�iky vzorkov�n�. Je schopen simulovat i neline�rn� bloky a aproximovat chov�n� syst�m� obsahuj�c�ch algebraick� smy�ky, na kter� ov�em p�ed simulac� upozor�uje.

Dynamick� vlastnosti line�rn�ch ��st� lze popisovat komplexn�mi p�enosy, maticemi syst�m� nebo p��mo pou��t bloky reprezentuj�c� p��mo s��t�n�, integraci, diferenci, n�soben� konstantou a dal�� element�rn� operace. V knihovn� neline�rn�ch blok� jsou p�eddefinov�ny pam�ov� bloky, p�ep�na�e, releov� charakteristiky, n�soben� a d�len� sign�l�, zdroje hodinov�ch impuls� a mnoho dal��ch.

Na obr�zku je zn�zorn�n velmi jednoduch� model syst�mu s p�enosovou funkc� odpov�daj�c� doln� propusti. Zes�len� syst�mu je omezeno primitivn� z�pornou zp�tnou vazbou, do kter� je pro ilustraci vlo�en zesilova� se zes�len�m jedna. Model je buzen gener�torem sinusov�ho sign�lu s postupn� se zvy�uj�c� frekvenc�. Na vstup i v�stup modelu jsou p�ipojeny bloky osciloskopu. Simulovan� pr�b�hy sign�l� jsou vykresleny na dal��ch dvou obr�zc�ch. Krom� zobrazovac�ch p�ij�ma�� sign�l� je mo�n� pou��t i blok� pro ukl�d�n� a na��t�n� pr�b�h� sign�l� do prom�nn�ch p��stupn�ch z prost�ed� interpretru Matlabu. Jednotliv� propojen� blok� nemus� reprezentovat jen jednotliv� sign�ly, ale mohou reprezentovat i skupiny sign�l� - vektory.




V�t�inu syst�m�, kter� mohou b�t �e�eny v diskr�tn�m �ase ( lze je diskretizovat ) je mo�no p�es RTW p�ev�st p��mo do zdrojov�ho k�du v jazyku C, kter� lze po dopln�n� zdrojov�mi texty pro u�ivatelem definovan� s-funkce p��mo kompilovat do strojov�ch jazyk� po��ta�� ur�en�ch k ��zen�. Pak vytvo�en� i slo�it�ho regula�n�ho syst�mu m��e vypadat tak, �e n�vrh�� stav� model navrhovan�ho regul�toru z p�eddefinovan�ch blok� Simulinku a po stisknut� jedin�ho tla��tka ( je-li ji� spr�vn� zvolena konfigurace ) dojde ke kompletn�mu p�ekladu a downloadu v�sledn�ho k�du do ��d�c� jednotky.

7.  Z�v�r

Image for: 7. Z�v�r

Z popisu syst�mu Matlab je patrn�, �e se z p�vodn�ho programu pro snadnou pr�ci s maticemi ( MatLab - matrix laboratory - maticov� laborato� ) vyvynul v ucelen� syst�m. Tento syst�m je mo�n� vyu��t jak pro teoretick� �vahy, tak i pro �e�en� praktick�ch probl�m� sv�zan�ch s vyu�it�m matematiky. Syst�m postupn� z�skal schopnosti �e�it dynamick� syst�my, vytv��et nejen grafy ale i kompletn� grafick� u�ivatelsk� prost�ed�, interaktivn� editovat a skl�dat dynamick� bloky a �e��t matematick� probl�my analyticky. S rozvojem oblast� vyu�it� se postupn� rozv�j� i syntaxe jazyka Matlabu.

Informace o dal��ch produktech firmy MathWorks a o nov�ch verz�ch program� se m��e �ten�� dozv�d�t na adrese http://www.mathworks.com/products/ . Dal��m zdrojem informac� m��e b�t dokumentace k syst�mu Maltab a k jednotliv�m toolbox�m, kter� v elekronick� podob� p�edstavuje okolo 100 MB soubor� PDF a HTML.


File translated from TEX by TTH, version 1.1.