Jemný úvod do MATLABu (c) Leonard Walletzký, ESF MU, 2000 K čemu je MATLAB? n snadné matematické výpočty n řešení problémů z lineární algebry (maticové operace) n možnost programování přináší nový způsob řešení úloh n vizualizace problémů Datové typy n číslo -- např. 4 n vektor -- např [1 2 3] n matice -- např [1 2 3;4 5 6;7 8 9] n řetězec -- např. `ahoj' Proměnná n místo v paměti, kde je uchován její obsah n v proměnné může být obsažena hodnota jakéhokoliv datového typu n proměnná je "chlívek na dobytče" Analogie se zvířecí farmou n číslo n vektor n matice n králík n koza n kráva Vložení hodnoty do proměnné n syntaxe: = n např.: lojza = 4 Vložení vektoru a matice do proměnné n podobně jako s číslem n proměnné obvykle nepojmenováváme jmény n užíváme 1 -- 3 písmenných označení (a, b, A, B, a1, x12, pom) n označení podle obsahu (datového typu) -- číslo n a = 1 -- vektor: n v = [1 2 3] -- matice n A = [2 3 4; 5 7 6; 6 1 7] Práce s proměnnými n Jaké proměnné mám definované -- příkaz who - výpis seznamu proměnných -- příkaz whos - detailní výpis seznamu n proměnná ans -- vždy přítomná -- obsahuje výsledek právě prováděné operace, není-li uložen do jiné proměnné Práce s proměnnými n uložení výsledku operace do proměnné -- a = 4 b = a + 2 -- b = b * 3 n = neznamená rovnost, ale přiřazení n = je přiřazovací příkaz Konstanty n Speciální proměnné, jejichž obsah nelze měnit n Mají důležité hodnoty n příklady -- pi -- inf - nekonečno -- NaN (not a number) - pokud je výsledek inf/inf nebo 0/0 Operace s čísly a číselnými proměnnými n Mějme a = 5, b = -2 n základní operace: -- sčítání (2 + 3, a + 2) -- odčítání (9 - 4, 90 - a) -- násobení (6*12, b*5) -- dělení (7/5, b/a) -- umocňování (6^2, a^3, b^a) Práce s vektory a vektorovými proměnnými n mějme -- v = [1 2 3], u = [3 -1 7] n operace vektor - číslo -- v * 2 -- u + 3 n další speciální operace -- transpozice (`) - z řádkového vektoru udělá sloupcový a naopak -- u' Operace vektor - vektor n Sčítání a odčítání -- u + v -- v - u n násobení a dělení -- probíhá vektorově -- u*v nefunguje -- u*v' -- u'*v Operace po prvcích n zruší vektorové násobení n pravidla jsou stejná jako u sčítání a odčítání -- v .* u -- u ./ v n POZOR -- v^2 = v*v - NEFUNGUJE -- v.^2 Operace s maticemi a maticovými proměnnými n Zvolíme matice -- A=[1 0 4;9 2 7;6 1 0], B=[8 1 5;1 3 0;6 1 7] n shodné operace s vektory včetně transpozice n násobení i dělení číslem i vektorem -- při dodržení pravidel o násobení vektorů a matic) -- A*v -- B*u' -- u*A Maticové operace n operace mezi maticemi -- A*B -- B*A n Dělení matic -- pravostranné dělení n X=A/B => B=X*A -- levostranné dělení n X=A\B => B=A*X Řešení n Vyzkoumáme, co nám vyjde pokud -- X=A/B n Zkoušíme X*B, B*X jestli nevyjde A n Nebo zda X*A, A*X nedá B -- X=A\B n Zkoušíme totéž, co v předchozím případě Definice řady - dvojtečkové příkazy n :: n :, krok je 1 n výsledkem je vždy vektor n příklady: -- 1:100 - řada od 1 do 100 -- 2:2:20 - sudá čísla do 20 -- v = 1:3:100 -- 19:-2:1 - řada počítaná odzadu