Octave, průvodce programem

  Hlavní stránka
  Přehled kapitol


  1. Krátké představení Octave

  1.1 Spouštění Octave
  1.2 Jednoduché příklady
    Vytváření matice
    Operace s maticemi
    Řešení lineárních rovnic
    Integrace diferenciál. rovnic
    Tvorba grafického výstupu
    Editace napsaných příkazů
    Nápověda a dokumentace

  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í

1.2.4 Integrace diferenciálních rovnic

Octave má zabudované funkce pro řešení nelineárních diferenciálních rovnic typu

dx
-- = f (x, t)
dt

s počáteční podmínkou

x(t = t0) = x0

K integrování rovnic tohoto typu musíte Octave prvně poskytnout definici funkce f(x,t). Toto ji jednoznačně určí a vše může být dokončeno zadáním těla funkce přímo na příkazovou řádku. Pojďme nyní nadefinovat funkci pomocí několika nelineárních diferenciálních rovnic. Všimněte si, že zatímco zadáváte funkci Octave odpovídá jiným příkazovým řádkem - aby jste si byli vědomi toho, že program čeká až dokončíte váš vstup.

function xdot = f (x, t)

r = 0.25;
k = 1.4;
a = 1.5;
b = 0.16;
c = 0.9;
d = 0.8;

xdot(1) = r*x(1)*(1 - x(1)/k) - a*x(1)*x(2)/(1 + b*x(1));
xdot(2) = c*a*x(1)*x(2)/(1 + b*x(1)) - d*x(2);

endfunction


Výpis Octave

je dána počáteční podmínka

x0 = [1; 2];

a nastavení časového výstupu jako sloupcového vektoru (všimněte si, že první časový výstup koresponduje s počáteční podmínkou danou výše)

t = linspace (0, 50, 200)';

nyní je jednoduché integrovat soustavu diferenciálních rovnic:

x = lsode ("f", x0, t);

Výpis Octave

Funkce lsode používá "Livermore Solver for Ordinary Differential Equations", který je popsán v:
A. C. Hindmarsh, ODEPACK, a Systematized Collection of ODE Solvers
k dohledání v:
Scientific Computing, R. S. Stepleman et al. (Eds.), North-Holland, Amsterdam, 1983, pages 55–64.

 < 1.2.3 Řešení lineárních rovnic < > 1.2.5 Tvorba grafického výstupu > 

© 2006 Michal Just
info(a)octave.cz
inzerce zdarma
Sport365.cz - squash, tenis, badminton ...