ÚSTAV MECHANIKY 

FAKULTY STROJNÍ ČVUT

AKADEMICKÝ ROK 1999/2000

ZÁKLADNÍ INFORMACE PRO PRÁCI V PROSTŘEDÍ MATLAB

Aktuální verze tohoto dokumentu je uložena na adrese http://mech.fsik.cvut.cz/matlab/matlab_fs.html (vytvořeno 5.10.99).

MATLAB POD LINUXEM

V počítačových místnostech FS ČVUT je prostředí MATLABu přístupné pod operačním systémem LINUX. MATLAB zde pracuje na základě sdílené plovoucí multilicence. Výuka mechaniky s použitím MATLABu probíhá v počítačové místnosti na Karlově náměstí v druhém patře budovy G (místnost G23). Pro tuto učebnu platí následující cesta ke spuštění MATLABu.
  1. Po zapnutí počítače a objevení volby režimů zvolíme do 20 sekund variantu (3) LINUX !
  2. Jako login zvolíme vyuka .
  3. Pro start napíšeme startx.
  4. Při počátku práce se objeví okno MATLABu automaticky. Pokud je z nějakého důvodu během práce MATLAB zavřen, spustíme nejprve xterminál (v hlavním menu nahoře) a v jeho příkazové řádce potom napíšeme matlab. Tím se okno MATLABu znovu obnoví.
Proběhne-li úspěšně inicializace a spojení s licenčním serverem ohlásí se příkazová řádka MATLABu:

»

ŠIROKÉ APLIKAČNÍ MOŽNOSTI

MATLAB umožňuje pomocí velmi jednoduchých příkazů (blízkých běžnému symbolickému zápisu) aplikovat širokou škálu matematických operací. Mimo toho prostředí MATLABu zahrnuje nástroj pro simulaci dynamických systémů SIMULINK, v němž je model zadáván pomocí blokových schemat. Speciální problematika je pak řešena pomocí mnoha tzv. Toolboxů (pro symbolickou matematiku, pro syntézu algoritmů řízení, pro řešení parciálních diferenciálních rovnic apod.). Několik z nich je zahrnuto i ve zmíněné multilicenci. Pro celkový přehled o prostředí a jeho možnostech lze spustit DEMO:

» demo <enter>

ON-LINE MANUÁL - HELP

Vysvětlení příkazů MATLABu je strukturováno do jednotlivých skupin a podskupin od základních matematických operací přes lineární algebru, řešení algebraických a diferenciálních rovnic až po funkce výstupu a vizualizace výsledků.

Základní nejvyšší strukturu HELPu uvidíme po zapsání příkazu:

» help <enter>

Dále lze dotaz upřesňovat až po popis jednotlivých příkazů (např.):

»help elfun <enter>

»help exp <enter>

PRACOVNÍ PROSTOR A AKTUÁLNÍ ADRESÁŘ

Po spuštění MATLABu se paralelně vytvoří tzv. pracovní prostor (workspace), v němž jsou uloženy všechny proměnné vytvořené během práce s MATLABem. Obsah pracovního prostoru můžeme zjistit příkazem:

»whos <enter>

Aktuální pracovní adresář pak můžeme zjistit pomocí příkazu :

»pwd <enter>

ZÁKLADNÍ PROMĚNNÉ A MATEMATICKÉ OPERACE

U názvů proměnných je možné používat písmena, číslice a podtržítka. POZOR, MATLAB odlišuje velká a malá písmena !!

»E = 30000;

»area_1 = 3;

»length_1 = 120;

»k_1 = E*area_1 / length_1

Značení základních algebraických operací je standardní:

10+8+6

25-4

11*0.9

17/2
 
 

MATLAB JE MATICOVĚ ORIENTOVÁN

Vektory a matice se zadávají pomocí hranatých závorek. Středníky oddělují řádky. Symbol procent % znamená poznámku, MATLAB text za tímto znakem ignoruje.

Příklad:

x = [ 1 2 3 4 ]% řádkový vektor

x = [ 1; 2; 3; 4 ]% sloupcový vektor

x = (1:5)

x = (3:-1:1)

A = [ 1 2 3; 4 5 6 ; 7 8 9]% čtvercová matice 3 na 3

y = [ 5 6 7 ]

z = [ x y ] % skládání vektoru ze dvou stávajících

z = [ x y ; y x ]

z'% Transpozice matice

Všechny operace jsou primárně interpretovány maticově. Násobení, sčítání apod. je přípustné pouze v souladu s pravidly o násobení/sčítání matic.

x = [ 1 2 3 4 ]; y=[1;2;3;4];

x*y=30;%avšak

y*x=[1 2 3 4

2 4 6 8

3 6 9 12

4 8 12 16]

PŘÍPRAVA OPERACÍ V M-SOUBORECH

Vkládání operací řádek po řádku obvykle není příliš vhodné, zejména u delších příkazových sekvencí. Velmi často potřebujeme v MATLABu sestavit vlastně celý výpočetní program, který musíme nejdříve odladit a potom uchovat pro další použití. Základní cestou je vytváření tzv. m-souborů (*.m) v pracovním adresáři. V našem případě použijeme k vytvoření takovéhoto souboru některý v LINUXu přístupný editor, například NEDIT. Tento editor lze nejjednodušeji spustit přímo z příkazové řádky MATLABu.

»!nedit <enter>

PS. Nevynechte vykřičník

Vytvořme tedy například soubor example.m podle následujícího vzoru. Jednotlivé kroky jsou komentovány, a tak umožňují seznámení s dalšími příkazy MATLABu. Je potřeba dbát na to, aby byl soubor vytvořen v aktuálním pracovním adresáři MATLABu (zjistíme příkazem pwd viz výše).

clear % vyčištění pracovního prostoru

K = zeros(4,4);% vytvoření nulové matice rozměru 4 na 4

k = 1;

k_el=[ k+k, -k; % vytvoření matice k_el

-k, k ];

K( 1:2,1:2 ) = k_el; %vkládání matice k_el do matice K

K( 2:3,2:3 ) = k_el;

K( 3:4,3:4 ) = k_el;

K - K' % kontrola symetričnosti matice K

det(K) % kontrola regulárnosti matice K

P = 0.25: 0.25 : 1;

P = P';% příprava pravé strany soustavy lineárních rovnic

U = K\P; % řešení soustavy lineárních rovnic K*U=P

U = inv(K)*P; % alternativně lze provést také takto pomocí inverze matice

eigenvalues_of_K = eig( K );% výpočet vlastních čísel matice

strain_energy =1/2* U'*K*U% výpočet kvadratické formy (výsledkem je skalár )
 
 

Takovouto sekvenci příkazů tedy uložíme v editoru jako soubor example.m. Provedení sekvence zajistíme napsáním jména m-souboru do příkazové řádky MATLABu.

»example <enter>

Výsledky řádků zakončených středníkem nebudou při provádění zobrazovány, v pracovním prostoru však budou do vymazání, přepsání či zakončení práce s MATLABem uchovány. Obsah proměnné z pracovního prostoru zobrazíme zadáním jména proměnné bez středníku.

»U <enter>
 
 

VIZUALIZACE VÝSLEDKŮ V MATLABU

Při práci s MATLABem lze použít bohaté možnosti 2D i 3D zobrazení výsledků. Nejjednodušší případ je zobrazení funkční závislosti pomocí příkazu plot.

x = (1:20)'

y=exp(x)

plot(x,y)%příkaz kreslení

xlabel('x')%popis osy x

ylabel('y')%popis osy y

figure %definice prostoru pro nový obrázek

 

PODROBNĚJŠÍ INFORMACE O MATLABU

Těchto několik řádek informací Vám může pomoci při prvním setkání s MATLABem. Jelikož se jedná o interaktivní prostředí, nejlepší cesta k jeho dalšímu poznání vede přes aktivní práci s ním. Velkým pomocníkem Vám bude dobře zpracovaný systém on-line helpů. Mimo vlastního experimentování můžete získat další informace na www adresách : Mimo těchto možností a manuálů MATLABu existuje ještě v českém jazyce stručná brožurka Balda M.: Uvod do Matlabu. Vydavatelstvi ZCU Plzen, Plzen 1998

MNOHO ŠTĚSTÍ A NOVÝCH POZNATKŮ PŘI PRÁCI S MATLABEM PŘEJE KOLEKTIV PEDAGOGŮ ODBORU MECHANIKY TĚLES ÚSTAVU MECHANIKY FAKULTY STROJNÍ ČVUT !!