Co lze v MALATBu dělat, aniž musíme napsat program. © Leonard Walletzký, ESF MU, 2000 Definice řady (opakování) ■ :::, krok je 1 ■ výsledkem je vždy vektor ■ 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. Indexy ■ odkazy na prvky vektoru či matice ■ je tvořen souřadnicemi prvku ■ odkazovat se lze jen na existující prvky v=[4 8 7 16 0] v(2) v(5) Indexy (pokračování) Indexy v matici: ♦ A=[1 2 3;4 5 6;7 8 9] A(1,2) - A(3,1) 1 4 1 2 3 8 9 — A(2,3) Vektorové indexy ■ Indexem nemusí být jen číslo, ale i vektor. "1 2 v([2 4 5])= [816] A([2 3],[1 2]) 9 A([1 2],3) Použiti „:" v indexe v(2:5) — v=[4 8 7 16 0 A(1:2,2:3) 1 1 r 2 3 5 6 4 7 8 9 v(1:2:5) A(1:2:3,1:2) 1 2- 3 6 9 4 5 7 8- Indexy - zvláštní význam „:" ■ je-li hodnota jednoho indexu „:", pak se tím rozumí „přes všechny Prvky" A(1,:) A(:,2:3) 1 4 7 2 3 5 6 8 9 £j Nezáleží na tom, kolik řádků a sloupců matice A má. v v Indexy mění hodnoty prvků ■ Pomocí indexů můžeme měnit hodnotu určité části vektoru nebo matice ■ příklad: v=[4 17 16 0] v(2)=1 Změna hodnoty u více než jednoho prvku ■ Nahrazovat lze pouze ♦ vektor vektorem o stejné velikosti ♦ submatici maticí o stejné velikosti ■ Např: v(2:4) = [9 0 2] A(2:3,1:2)=[0 1; 1 0] [4 9 0 2 6 0] Vymazání jednoho nebo více prvků Přiřadíme příslušné části vektoru nebo matice prázdný vektor [ ] příklad: v(1:3) = [] 2 6 0] A([13],:)=[] 0 1 6 Vložení dalších prvků Pomocí indexu můžeme vložit další prvky do vektoru a matice v(4) = 3 [2 6 0 3] v(7) = 5 [2603 A(2,:)=[5 6 7] A(3,3)=2 0 1 6 5 6 7 i_ "0 5 1 6 6" 7 0 0 2 Logické operace ■ Mějme: ♦ A=[2 0;3 5] ♦ B=[7 0;0 9] ■ & - logický součin (C=A&B) »-1 - v A i B není na daném místě 0 »-0 - alespoň v jedné matici je na daném místě 0 ■ | - logický součet (C=A|B) »-1 - v A nebo v B není na daném místě 0 ^0 - o obou maticích je na daném místě 0 ■ ~ - negace (C=~A) »-1 - v A je na daném místě nulový prvek o- 0 - v A je na daném místě nenulový prvek Funkce ■ Funkce je program, kterému: ♦ něco předhodím (vstup) ^jedno nebo více čísel ojeden nebo více vektorů ^jednu nebo více matic <*- řetězec ^kombinace předchozích ♦ on něco vrátí (výstup) učíslo ^vektor *- matici ■ konkrétní podoba vstupu a výstupu záleží na charakteru funkce ♦ help Příklady funkcí ■ abs - absolutní hodnota ■ sqrt - druhá odmocnina . ■ sin - sinus ■ round - zaokrouhlení . ■ cos - ■ cosinus ■ fix - zaokrouhlení k 0 . ■ tan - tangens ■ floor - zaokrouhlení k -°° ■ ■ asin - arkussinus ■ ceil - zaokrouhlení k + °° ■ rem - zbytek po celoč. dělení. ■ acos ■ atan - akruscosinus - arkustangens ■ gcd - největší společný dělitel ■ lem - nejmenší společný násobek ■ log - přirozený logaritmus ■ log 10 - dekadický logaritmus Použití funkcí ■ Obecná syntaxe: ♦ () ■ sqrt ♦ sqrt(256) - vráti druhou odmocninu z 256 ♦ sqrt(v) - vráti vektor druhých odmocnin prvků vektoru v ♦ sqrt(A) - vráti matici druhých odmocnin prvků matice A ■ rem ♦ rem(11,3) - zbytek po dělení 11 číslem 3 ♦ rem(v,3) - vektor „zbytků" po dělení prvků číslem 3 Funkce pro práci s maticemi ■ zeros - nulová matice ■ ones - matice jedniček ■ eye - jednotková matice ■ rand - matice náhodných čísel •Použití: •vstupním parametrem je hodnost matice •chybí-li, je vráceno číslo •např: eye (3) "1 0 0" 0 1 0 0 0 1 Grafický výstup v MATLABu ■ Zobrazujeme data uložená ve: ♦ vektoru ♦ matici ■ Funkce pro vykreslení grafu: ♦ plot - lineární stupnice pro osu x i y ♦ loglog - logaritmická stupnice pro obě osy ♦ semilogx - logaritmická stupnice pro osu x a lineární pro osu y ♦ semilogy - logaritmická stupnice pro osu y a lineární pro osu x Použití grafů r Ukol: Namalovat graf funkce sinus na intervalu <0,27i> ■ Vytvoříme vektor hodnot ♦ x=0:0.01:2*pi ■ Vypočteme funkční hodnoty ♦ y=sin(x) ■ Zobrazíme graf ♦ plot(y) ■ Zobrazení grafu se správnými hodnotami osy x: ♦ plot(x,y) Možnosti popisu grafů . title() ♦ vytvoří nadpis grafu ♦ title('Můj první graf) ■ xlabel() ♦ popis osy x ♦ xlabel('Osax') ■ ylabel() ♦ popis osy y ♦ ylabel('Osay') Další možnosti práce s grafy ■ Přidání další křivky do grafu ♦ příkaz hold on ^zamezí přepsání původního grafu ♦ Pokračování příkladu *- z=cos(x) ^plot(x,z) ■ Zobrazení mřížky grafu ♦ příkaz grid Typy křivek Barvy ■ y = žlutá ■ m = fialová ■ c = tyrkysová ■ r = červená ■ g = zelená ■ b = modrá ■ w = bílá ■ k = černá Typy čar . . = bod ■ o = kroužek ■ x = křížek ■ + = plus ■ * = hvězda ■ - = plná čára ■ : = tečkovaná ■ -. = čerchovaná ■ -- = čárkovaná Nakreslení různých grafů plot(,, ) Překreslíme grafy z našeho příkladu hold off plot(x,y,'r+') hold on plot(x,z,'y-') title('Naše milé grafy') xlabel('Osa x') ylabel('Osa y') grid