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