Octave, průvodce programem

  Hlavní stránka
  Přehled kapitol


  1. Krátké představení Octave   2. Práce s programem
  3. Datové typy

  4. Číselné datové typy

  4.1 Matice
  4.2 Logické (Bool) hodnoty
  4.3 Výroky pro num. fce

  5. Řetězce
  6. Datové struktury
  7. Datové kontejnery
  8. Proměnné
  9. Výrazy
10. Vyhodnocení
11. Příkazy
12. Funkce a skriptovací
      soubory
13. Vstup a výstup
14. Vykreslování
15. Práce s maticemi
16. Aritmetika
17. Lineární algebra
18. Nelineární rovnice
19. Kvadratura
20. Diferenciální rovnice
21. Práce s polynomy
22. Teorie řízení

4.1 Matice

Octave podle vzoru Matlabu chápe každou proměnnou jako matici určité velikosti. Proměnné obsahující jedno číslo jsou tak brány jako matice velikosti 1×1 - s těmi se však počítá úplně stejně jako s normálními čísly. Pokud budeme chtít pracovat s maticemi o větším počtu řádků či sloupců, přijdou na řadu hranaté závorky:

Výpis Octave

Při takovémto zadávání matice na příkazové řádce hranaté závorky vymezují prostor pro zápis jejího obsahu, hodnoty na řádku se oddělují mezerou nebo čárkou, řádky pak středníkem nebo novým řádkem (klávesou Enter - do výskytu uzavírající závorky Octave výraz nevyhodnocuje).
Matici lze skládat také z „větších“ objektů, než jsou skaláry, tj. z vektorů a menších matic. Při zadávání je pouze nutno dbát na to, aby ve výsledku měla matice stejný počet sloupců v každém řádku, tj. aby někde něco nechybělo či nepřebývalo:

Výpis Octave

Nyní složíme velkou matici z několika menších:

Výpis Octave

Z podstaty věci je možné (a formálně korektnější) psát i samostatná čísla v maticových závorkách:

Výpis Octave

Pro přehlednost a úsporu psaní si je však každý rád odpustí, jak tomu je v ostatních příkladech v tomto textu. Je také možné vytvořit - na první pohled poněkud překvapivě - prázdnou matici, která má nulový počet řádků a sloupců.
Prázdné matice mají své uplatnění při rušení řádků či sloupců ve větších maticích, viz dále.

Základní maticové operace

Podle očekávání Octave umí s maticemi nativně provádět běžné numerické operace, tj. zejména velikostně si odpovídající matice sčítat, respektive odčítat a násobit:

Výpis Octave

Nechybí ani možnost umocňovat matici reálným číslem; významná je zejména operace umocňování na minus prvou (M^-1), kterou získáme matici inverzní k původní matici:

Výpis Octave

K základním maticovým operacím patří také transpozice, tj. přeměna řádků na sloupce a naopak. V Octave ji vyznačujeme apostrofem - „'“:

Výpis Octave

Octave také umí matice dělit, a to hned dvěma způsoby: levostranně pomocí operátoru „\“ a pravostranně pomocí „/“. Formálně to u čtvercových regulárních matic odpovídá násobení jedné matice s druhou inverzní. Jelikož výpočet probíhá přímo, je možné levostranně dělit matice se stejným počtem řádků a pravostranně matice se stejným počtem sloupců:

Výpis Octave

Dělení matic se využívá například při řešení soustavy lineárních rovnic. Pro názornost dodejme ještě, že levostranné dělení běžných čísel odpovídá zápisu zlomku, kdy nejdřív uvedeme jmenovatele a teprve poté čitatele:

>> 5 \ 35
ans = 7

Pozor na to, že znak zpětné lomítko se také používá pro zápis výrazu/výrazů na vícero řádků, jak již bylo uvedeno dříve.

Matice a skalár, operace po prvcích

Podle očekávání se také Octave chová při operacích s maticemi a skaláry - operace se provede se skalárem a s každým prvkem matice, výsledkem je matice stejných rozměrů. Například násobení matice skalárem a součet matice a skaláru:

Výpis Octave

Někdy je zapotřebí u násobení matic provést tuto operaci tzv. po prvcích, tj. stejným způsobem, jak se provádí součet matic. Násobit po prvcích je možno pouze matice se stejným počtem řádků a sloupců a výsledek je opět stejně rozměrná matice s odpovídajícími výsledky na daných pozicích. Násobení po prvcích dáme najevo předřazením symbolu tečka před vlastní symbol násobení - hvězdičku:

Výpis Octave

Analogickým způsobem lze pomocí tečky před vlastním operátorem zařídit též dělení a umocňování po prvcích. Tečku lze zapsat i před sčítání a odečítání, z praktického hlediska to ale nemá význam - tyto operace se provádí pouze v režimu „po prvcích“:

Výpis Octave

Funkce pro práci s maticemi

Nakonec uveďme pár základních funkcí, které se nám při práci s maticemi mohou hodit:

inv - počítá inverzní matici, totéž, co umocnění na -1

det - determinant matice

rank - hodnost matice

rot90 - otáčí matici o 90 stupňů, je-li druhý parametr -1, tak ve směru hodinových ručiček, hodnota 1 znamená proti směru hodinových ručiček.

 < 4. Číselné datové typy < > 4.2 Logické hodnoty > 
© 2006 Michal Just
info(a)octave.cz
inzerce zdarma
Sport365.cz - squash, tenis, badminton ...