====== Modelování spojitých systémů ======
(bloková schémata, rovnice, numerické metody a jejich vlastnosti)
----
Části převzaté z [[isz:principy_modelovani_a_simulace_systemu]].
Spojité systémy mají chování specifikované pro každý okamžik v čase. Chování je tedy funkcí závislou na čase, může jít např. o diferenciální rovnice. Simulace na číslicových systémech je diskrétní, postupuje se v čase po nějakých malých časových krocích. Délka kroku může být proměnlivá v závislosti na velikosti (odhadu) chyby způsobené diskretizací.
===== Řízení simulace =====
Řízení simulace je jednoduché:
- inicializace počátečních podmínek
- posun v čase o krok dopředu
- vypočítání nových stavů všech proměnných v systému
- goto 2
Většinou je simulace prováděna po určitý koncový čas. Aby simulace doběhla přesně do tohoto času, je nutné při posledním kroku dokročit. Poslední krok simulace je prodloužen tak, aby končil až v koncovem čase.
===== Bloková schémata =====
Soustava rovnic může být spojitým modelem, pokud některé z proměnných či koeficientů jsou závislé na čase. Soustavu rovnic lze reprezentovat pomocí blokového schématu, sestaveného následovně:
* vstupní a výstupní proměnné jsou vstupem a výstupem blokového schématu
* pokud je nějaká proměnná potřebná na vstupu více bloků, je její spoj větvený a přivedený do těchto bloků
* bloky mohou být integrátory, sčítačky, násobičky různými koeficienty
* koeficienty mohou být:
* nezávislé na čase (stacionární systémy)
* časově proměnné
* konstantní (lineární systémy)
* nelineární funkce (nelineární systémy)
* zpětná vazba: pokud nějaký prvek potřebuje jako vstup hodnotu, která je závislá na jeho výstupu (typicky u integrátorů)
Mějme rovnici y prime prime - 2y prime + y = x. Metodou snižování řádů derivaci získáme následující rovnice:
*y prime prime = 2y prime - y + x
*y prime = int{}{}{y prime prime}
*y = int{}{}{y prime}
Blokové schéma pak bude vypadat následovně:
{{http://www.stud.fit.vutbr.cz/~xurban06/schema.png?800}}
===== Numerické metody =====
Numerické metody poskytují diskrétní řešení diferenciálních rovnic. Obvykle je implementovaný prvek označovaný jako **integrátor**, který řeší obyčejnou diferenciální rovnici prvního řádu, která má obvykle tvar (obecně může být neznámá i jiná než t, ale při simulacích jde logicky o čas):
y prime = f(t, y)
Význam této rovnice je takový, že změna hodnoty proměnné je závislá na čase a aktuálním stavu. Po integrátoru se v každém čase simulace požaduje zjistit další hodnotu proměnné. K tomu integrátor využívá nějakou numerickou metodu.
==== Typy metod ====
* jednokrokové vs. vícekrokové (ty při výpočtu uvažují několik předchozích stavů)
* implicitní vs. explicitní (FIXME implicitní vyžadují k výpočtu aktuálního stavu i aktuální stav - nevím, co to znamená při výpočtu)
=== Eulerova metoda ===
Jednokroková. Pouze první člen Taylerova rozvoje:
y_{t+h} = y_t + hf(t, y_t), kde t je aktuální čas a h je velikost kroku.
=== Runge-Kutta ===
Třída jednokrokových metod, které se liší "řádem", tedy počtem mezikroků. Všechny se vyznačují tím, že počítají několik bodů uvnitř následujícího kroku a výsledek je vážený průměr těchto bodů.
==== Stabilita ====
* Nestabilní metoda: při určité velikosti kroku se výsledky neustále vzdalují od přesného řešení.
* Každá metoda má jinak definovanou oblast stability, což je plocha v komplexní rovině, na které leží vlastní čísla matice soustay dif. rovnic. FIXME eh?
* Některé metody jsou kvůli nevhodné oblasti nepoužitelné pro tuhé systémy, protože by bylo potřeba použít příliš krátky integrační krok (=> neefektivní).
Pro použití u tuhých systému jsou vhodné metody, které jsou stabilní pro celou komplexní polorovinu "nalevo" od počátku.
==== Parciální diferenciální rovnice ====
Rovnice obsahující derivace podle více proměnných. Řád určuje nejvyšší derivace. Vstupy do simulace jsou:
* Počáteční podmínky, tedy hodnoty proměnných v čase 0.
* Okrajové podmínky, tedy omezující podmínky pro některé proměnné, které omezují řešení rovnic na určitou "oblast" (interval hodnot pro tuto proměnnou). Příkladem je např. model kmitající struny, která má danou délku a na krajích je upevněna. Okrajové podmínky pro výchylku i derivaci výchylky jsou nastaveny pevně na 0.
=== Metody řešení parciálních diferenciálních rovnic ===
* metoda konečných diferencí
* metoda přímek
* metoda konečných prvků
* metoda konečných objemů
* metoda Monte-Carlo
== Metoda konečných diferencí ==
* diference = lineární kombinace funkčních hodnot v okolních bodech
* oblast vyhraněná okrajovými podmínkami je pokryta sítí uzlových bodů
* v těchto bodech jsou derivace nahrazeny diferencemi
* řešení soustavy rovnic
* analogie ke konečnému automatu
== Metoda přímek ==
* stejné jako metoda konečných diferencí, ale je derivace jedné proměnné je ponechána (zbylé proměnné jsou nahrazeny diferencemi)
* soustava obyč. diferenciálních rovnic, řešení numerickými metodami viz výše
* DSCT - discrete space continuous time - diference v prostoru, derivace zůstává u časové proměnné
* taky analogie ke konečnému automatu