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

  12.1 Definice funkcí
  12.2 Vracení více hodnot
  12.3 Návrat z funkce
  12.4 Soubory funkcí
  12.5 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í

12.2 Vracení více hodnot

Narozdíl od jiných počítačových jazyků, Octave dovoluje definovat funkce, které vrací více než jednu hodnotu. Syntaxe definice takovéto funkce, která vrací více hodnot je:

function [ret-list] = name (arg-list)
    body
endfunction


kde name, arg-list a body mají stejný význam jako předchozí příklady a ret-list je čárkami oddělený seznam jmen proměnných, do kterého se budou ukládat hodnoty vracené funkcí. Tento seznam musí obsahovat nejméně jednu položku.

Tady je příklad, který vrací dvě hodnoty - maximální prvek vektoru a index jeho prvního výskytu ve vektoru.

function [max, idx] = vmax (v)
    idx = 1;
    max = v (idx);
    for i = 2:length (v)
        if (v (i) > max)
                max = v (i);
                idx = i;
        endif
    endfor
endfunction


V tomhle případě tyto dvě hodnoty se mohli vrátit do prvků jednoduchého pole, ale ne vždy je to možné nebo vhodné. Hodnoty, které se vrací nemusí sedět dimenzemi a je lepší vždy jednotlivým hodnotám dávat jednoznačné jména.

Je také možné psát funkce, které vrací jen některé hodnoty. Například funkce:

function [x, y, z] = f ()
    x = 1;
    z = 2;
endfunction


a pak

[a, b, c] = f ()

znamená výpis

a = 1

b = [](0x0)

c = 2

 < 12.1 Definice funkcí < > 12.3 Návrat z funkce > 
© 2006 Michal Just
info(a)octave.cz
inzerce zdarma
Sport365.cz - squash, tenis, badminton ...