|
|
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
19.1 Funkce jedné proměnné
19.2 Ortogonální rozložení
20. Diferenciální rovnice
21. Práce s polynomy
22. Teorie řízení
|
|
19.2 Ortogonální rozložení
Funkce: [r, amat, bmat, q] = colloc (n, "left", "right")
Počítá derivaci a integrál váhy matice pro ortogonální rozložení pomocí
podprogramů daných J. Villadsenem a M. L. Michelsenem rozepsaných v "Solution of
Differential Equation Models by Polynomial Approximation".
Zde je příklad použití colloc k vygenerování váhy matice k vyřešení diferenciální
rovnice druhého řádu u' - alpha * u” = 0 s počátečními podmínkami u(0) = 0 a
u(1) = 1.
Prvně můžeme vygenerovat váhu matice pro n bodů (včetně krajních bodů intervalu),
a začlenit počáteční podmínky na pravou stranu (pro specifickou hodnotu alpha).
n = 7;
alpha = 0.1;
[r, a, b] = colloc (n-2, "left", "right");
at = a(2:n-1,2:n-1);
bt = b(2:n-1,2:n-1);
rhs = alpha * b(2:n-1,n) - a(2:n-1,n);
Potom řešení kořenů r je:
u = [ 0; (at - alpha * bt) \ rhs; 1]
=> [ 0.00; 0.004; 0.01 0.00; 0.12; 0.62; 1.00 ]
|
|