Recent Posts

pondělí 18. února 2013

Seznámení s Matlabem

Článek se snaží přiblížit první kroky pro používání programu. Jelikož v tomto programu nepracuji až tak dlouho, možná nepodám výklad tak profesionálně a uceleně, ale chtěl bych touto cestou alespoň přibližně naznačit pro ty, kteří nemají tolik času na prostudovávání knih a chtějí začít urychleně pracovat.

Zjednodušeně bych řekl, že se jedná o lepší kalkulačku, která nabízí výhody předpřipravených funkcí, ale i možnosti tvorby vlastních, přičemž ovládání a práce v programu plně vyhovuje inženýrskému přístupu k řešenému problému.

Verze programu, keré se popis týká, je MATLAB R2012a, ale v zásadě lze říci, že ovládání je velkmi obdobné i u ostatních.Po otevření programu je obrazovka rozdělena do několika oken, uprostřed Command Window, po pravé straně většinou Workspace a Command History, nalevo potom okno Current Folder. Do okna Command Window můžeme zadávat příkazy, volat odtamtud rozličné funkce, ať už své či předdefinované a samozřejmě přiřazovat libovolnému písmenku či slovu příslušnou hodnotu např. 2, nebo matici. To si lze rovnou vyzkoušet. Nejprve uvedu několik základních tipů.

Základní přiřazovací symbol je: =
Konstanta, které přiřazuji hodnotu nesmí obsahovat zvláštní symboly typu otazníku či vykřičníku, délka názvu může být maximálně 63 znaků, obsahovat číslice, ale nesmí s ní začínat. Pokud něco zadáte špatně, vždy se objeví hláška upozornění/varování.
Násobení, sčítání, odčítání, dělení je klasické (*,+,-,/), umocňování pomocí vokáně ^ (lze zadat jako zkratka levý Alt+94 (na numerické klávesnici), případně pravý Alt+3 (objeví se po zadání dalšího znaku)).
Desetinná čísla se oddělují tečkou.
Pro zadávání čísel lze využít vědecký formát pomocí písmene E (např. 1.69759e-6).
Ukončování řádku středníkem ;
Uskutečnění příkazu pomocí tlačítka Enter jistě nemusím vysvětlovat.



Příklad 1
A=1;
B=2;
C=A+B


Jak si lze všimnout, na konci řádku zadávám vždy středník, pokud ho nenapíši, vypíše se v Command Window příslušná hodnota, tzn. pro A se vypíše A=1, pro C=A+B se vypíše C=3.

Pokud jste zkusili Příklad 1, všimli jste se, že se všechna písmenka zapisují se svou přidělenou hodnotou do okna Workspace. Toto okno bych přirovnal k našemu mozku, poněvadž je to paměť na všechny údaje přiřazující některému z písmenek jeho hodnotu, a jsou to právě ty, které jsme zadali v Command Window. Ve Workspace můžeme poklepáním na jednotlivé konstanty poklepat a změnit jejich hodnotu. To, co jsme doposud udělali je zaznamenáno v Command History, odtud můžeme znovu zavolat příkaz, který jsme před tím už zadali.

Chceme-li písmenu A přiřadit matici, využijeme hranaté závorky - A=[1 2;3 4]. Způsob zadávání matice je po řádcích, kdy číslice v řádcích matice oddělujeme mezerou nebo čárkou, jednotlivé řádky potom středníkem. (Hranatou závorku lze zadat pomocí pravého Alt + F a Alt + G .) Vynásobíme-li matici A hodnotou B=2, vynásobí se každá hodnota v matici právě dvojkou. Násobíme-li dvě matice jako v Příkladu 3, jedná se o skalární součin (viz matice D), chceme-li ovšem násobit hodnoty v matici jednotlivě hodnotami z druhé matice, musíme před násobení napsat tečku, to lze vidět v Příkladu 4



Příklad 2
A=[1 2;3 4];
B=2;
C=A*B

Výsledek
C=[2 4;6 8]

Příklad 3
A=[1 2;3 4];
C=[2 4;6 8];
D=A*C

Výsledek
D=[14 20;30 44]



Pro dělení matic platí stejné pravidlo, pokud dělíme pouze lomítkem, dělíme matice, pokud dělíme s tečkou před lomítkem, dělíme jednotlivé hodnoty v matici. Umocňování matice je obdobné, chceme-li umocnit všechna čísla v matici, musíme zkrátka před znakem pro umocňování napsat tečku.


Příklad 4
A=[1 2;3 4];
C=[2 4;6 8];
D=A.*C

Výsledek
D=[2 8;18 32]


Příklad 5
A=[1 2;3 4];
C=[2 4;6 8];
E=A/C

Výsledek
E=[0.5 0;0 0.5]


Příklad 6
A=[1 2;3 4];
C=[2 4;6 8];
E=A./C

Výsledek
E=[0.5 0.5;0.5 0.5]


Příklad 7
A=[1 2;3 4];
F=A.^2;

Výsledek
F=[1 4;9 16]


Pro transponování matice lze dobře využít apostrofu ' (zadání Alt+39) jak lze vidět v případě Příkladu 8.


Příklad 8
A=[1 2;3 4];
G=A';

Výsledek
G=[1 3;2 4]


Pokud se rozhodnete přiřadit písmenku A hodnoty od 1 do 20, není nic jednoduššího, než napsat A=1:20, máte-li požadavek na to, že se má jednat o řadu čísel po 0,5, vložíte tuto délku intervalu mezi 1 a 20, takže tedy
A=1:0.5:20;

V tomto zadání jsou všechny hodnoty v prvním řádku, A je chápána jako jednořádková matice, vhodnou úpravou lze mít všechna data v jednom sloupečku, stačí využít apostrof.
A=(1:0.5:20)';

Myslím, že to je to nejdůležitější k tomu, abyste mohli začít využívat předdefinované funkce, ale ještě před tím doporučuji vyčistit Command Window pomocí příkazu clc a vyčistit pamět zadáním příkazu clear.


clc - vyčistí oblast Command Window
clear - vymaže pamět Workspace

Žádné komentáře: