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.1 Definice funkcí

Ve své nejjednodušší formě definice funkce pojmenované name vypadá takto:

function name
    body
endfunction


Platné jméno funkce je jako platné jméno proměnné - sekvence znaků, čísel a podtržítek nezačínající číslem. Funkce jsou v tomhle naprosto totožné se jmény proměnných.

Tělo funkce se skládá z příkazu Octave. Je to nejdůležitější část definice, protože říká, co bude funkce kdy dělat.

Jakmile je funkce definovaná, můžete Octave kdykoli vyzvat k jejímu provedením tím, že napíšete její jméno.

Většinou budete chtít funkci, kterou definujete předat nějaké údaje. Syntaxe pro předávání parametrů je v Octave:

function name (arg-list)
    body
endfunction


kde arg-list je čárkami oddělený seznam argumentů funkce. Když je funkce zavolána, jména argumentů jsou použita pro držení hodnot argumentů daných v okamžiku, kdy byla funkce volána. Seznam argumentů může být prázdný. Jako je uvedeno v předchozím příkladě.

Ve většině případů také budete chtít z funkce získat nějaké informace zpět. Pro tyto případy se používá definice, která vrací jednu hodnotu:

function ret-var = name (arg-list)
    body
endfunction


Symbol ret-var je jméno proměnné, do které bude uložena hodnota, který se bude vracet funkcí. Tato proměnná musí být definována před tím, než skončí tělo funkce - kvůli tomu, aby funkce mohla nějakou hodnotu vrátit.

Proměnné použité uvnitř funkce jsou lokální vzhledem k funkci. Proměnné vyjmenované v arg-listu nebo ret-var jsou také lokální.

Například tady je funkce, která počítá průměr prvků vektoru:

function retval = avg (v)
    retval = sum (v) / length (v);
endfunction


Pokud by jsme napsali avg místo toho takto,

function retval = avg (v)
    if (isvector (v))
        retval = sum (v) / length (v);
    endif
endfunction


a funkce je zavolána s maticí v argumentu místo vektoru, Octave vypíše chybu.


Zabudovaná funkce: nargin ()
Zabudovaná funkce: nargin (fcn_name)

Uvnitř funkce vrací počet argumentů předaných funkci. Na nejvyšší úrovni vrací počet argumentů, které byly použity při spuštění Octave z příkazového řádku. Pokud je zavolána s nepovinným argumentem fcn_name vrací maximální počet argumentů, které jmenovaná funkce může přijmout.

Zabudovaná proměnná: silent_functions

Pokud je hodnota této proměnné nenulová je interní výstup z funkcí potlačen. Původní hodnota je 0.

 < 12. Funkce a skriptovací soubory < > 12.2 Vracení více hodnot > 
© 2006 Michal Just
info(a)octave.cz
inzerce zdarma
Sport365.cz - squash, tenis, badminton ...