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
  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í

6. Datové struktury

Octave zahrnuje podporu pro organizování dat ve strukturách. Současná implementace používá asociativních polí, ale syntaxe je více podobná strukturám jazyka C. Následují nějaké příklady používání struktur v Octave.

Prvky struktury mohou být libovolného typu. Například tyto tři výrazy
x.a = 1
x.b = [1, 2; 3, 4]
x.c = "string"
vytvoří strukturu se třemi prvky. K výpisu hodnoty struktury stačí pouze napsat její jméno, stejně jako u kterékoli jiné proměnné.

Výpis Octave

Poznamenejme, že Octave může jednotlivé prvky vypisovat v libovolném pořadí.


Struktury také mohou být mezi sebou kopírovány.

Výpis Octave

Struktury jako takové mohou v sobě dále uchovávat další struktury. Následující tvrzení změní hodnotu prvku b struktury x na datovou strukturu obsahující jediný element d, který má hodnotu 3.

Výpis Octave

Poznamenejme, že Octave vypisuje hodnoty struktury obsahující jiné struktury, a zobrazuje pouze určitý počet zanoření. Například:

Výpis Octave

Toto zabraňuje dlouhému a matoucímu výstupu z hluboko zanořených struktur.


Zabudovaná proměnná: struct_levels_to_print

Pomocí ní můžete Octave sdělit, kolik si přejete zobrazovat zanoření ve strukturách. Původní hodnota je 2.

Funkce mohou vracet struktury. Například následující funkce odděluje reálné a komplexní části matice a ukládá je do dvou prvků jedné struktury - proměnné.

function y = f (x)
  y.re = real (x);
  y.im = imag (x);
  endfunction

Když se tato funkce zavolá s argumentem komplexní hodnoty, f vrátí datovou strukturu obsahující reálnou a imaginární složku originálního argumentu funkce.

Výpis Octave

Funkce vrací seznam, který může obsahovat prvky struktury, a ty mohou být indexovány stejně jako jiné proměnné. Například:

[ x.u, x.s(2:3,2:3), x.v ] = svd ([1, 2; 3, 4])
x.u =

-0.40455 -0.91451
-0.91451 0.40455

x.s =

0.00000 0.00000 0.00000
0.00000 5.46499 0.00000
0.00000 0.00000 0.36597

x.v =

-0.57605 0.81742
-0.81742 -0.57605


Následující funkce slouží k získání informací o strukturách.

Zabudovaná proměnná: isstruct(vyraz) Vrací 1 pokud je hodnota výrazu struktura.


Zabudovaná funkce: fieldnames (struct) Vrací buňku pole řetězce jmenující prvky struktury struct. Volání této funkce s hodnotou argumentu, který není strukturou končí chybovou hláškou.


Zabudovaná funkce: isfield (expr, name) Vrací hodnotu true, pokud výraz expr je strukturou a obsahuje prvek pojmenovaný name. První argument musí být struktura a druhý musí být řetězec.

 < 5.4 Funkce třídy znaků < > 7. Datové kontejnery > 
© 2006 Michal Just
info(a)octave.cz
inzerce zdarma
Sport365.cz - squash, tenis, badminton ...