Modelovanie nelineárnych dynamických systémov v simulačnom prostredí MATLAB


Saloky Tomáš1 & Vojtko Imrich2

1 Doc., Ing., CSc. TU Košice, SjF, Katedra automatizačnej techniky, Štúrova č. 31, 080 01 Prešov.

2 Ing.

Abstract: V článku sa pojednáva o algoritme na numerické riešenie úloh optimálneho riadenia nelineárnych dynamických systémov s tým, že diferenciálne rovnice sa modeluju a simuluju programovacím nástrojom Matlab.

1. Úvod

Príspevok sa zaoberá tvorbou algoritmu na numerické riešenie úloh optimálneho riadenia, pričom úlohou je nájsť taky vektor riadenia systému u(t), ktorý splňa danú diferenciálnu rovnicu a optimalizuje podľa zvoleného predpisu. Moderný nástroj pre analýzu a simuláciu nedávno vyvinutý firmou The MathWorks, Ins sa volá MATLAB a integruje v sebe všetké nástroje potrebné pre simuláciu a riešenie aj sústavy diferenciálnych rovnic nelineárnych.

2. Metóda riešenia problému

Nech je daná sústava diferenciálnych rovníc v tvare
x1 (t) = u(t) * x2 (t) (1)
x2 (t) = u(t)2 - x2 (t)2 - x1 (t)2 (2)
x1 (0) = x2 (0) = 1 (3)
0 <= t <= t(2)(4)

Úlohou je určiť u(t) tak, aby riešenie x1 (t), čo najlepšie aproximovalo funkciu x1* (t), ktorá je definovaná nameramými hodnotami. Z tohoto dvodu hľadáme minimum kriteriálnej funkcie

(5)

Pre transormáciu uvedenej úlohy zavedieme takú funkciu x 3(t) :
x3 (t) = (x1 (t) - x1* (t))2 (6)
x3 (0) = 0 (7)

že
J1 = x3 (t)2 (8)

Teda tranformovaná úloha (1), (2), (3) a (4) bude obsahovať riešenie diferenciálnych rovníc :
x (t) = f ( x(t), u (t), t ) , 0 t t1 (9)
x (0) = x0 (10)
u (t) U(11)
J = F (x1 (t1 ), . . . ,xn (t1 )) (12)

kde x(t) = (x1 (t ), . . . ,xn (t)) je vektor stavových premenných a x(0) - je vektor začiatočných podmienok, t je čas, pričom t1 je daný čas, u(t) = (u1 (t), ... , ur (t)) vektor riadenia systému a U je uzavretá množina r- rozmerného priestoru, f = ( f1 , f2 , . . . , fn ) je daný vektor funkcií pravých strán diferenciálnych rovníc a J - je kriteriálna funkcia obsahujúca terminálne premenné.

Neznámy vektor riadenia u(t) mžeme aproximovať pomocou polynómov Pik (t) (Legendrovych, Čebyševovych, resp. zovšeobecnených).

ui (t) aik . Pik (t) , i 1, 2, . . . , n.

3. Programový systém MATLAB

Výpočtové a vizualizačné prostredie MATLAB® je produktom firmy MATHWORKS, Inc., je to moderný nástroj na analýzu a simuláciu rzných systémov, ktorý integruje v sebe všetké nástroje potrebné na modelovanie zložitých systémov (aj hybridnej povahy). MATLAB poskytuje svojim uživateľom nie len mocné grafické a výpočtové nástroje ale aj rozsiahle knižnice funkcii spolu s programovacím jazykom štvrtej generácie. Knižnice sú svojím rozsahomvyuživateľné prakticky vo všetkých oblastiach ľudskej činnosti.Za najsilnejšiu stránku MATLABu je možno považovať mimoriadne rýchle výpočtové jádro s optimálnymi algoritmami.

MATLAB umožňuje:

Jadrom MATLABu sú algoritmy pre operácie s maticami kompexných čísel. Vektor reálnych čísiel mže reprezentovať aj polynomy, mže reprezentovať časové rady alebo signály, pričom MATLAB obsahuje funkcie pre ich analýzu, ako je hľadanie extrémov, strednej hodnoty, odchylky, rýchlu Fourierovú transformáciu a iné.

Otvorená architektúra MATLABu viedla k vzniku knižníc nazývaných TOOLBOX, orientovaných na príslušné vedné a technické obory:

SIMULINK je program pre simuláciu a modelovanie dynamických systémov, ktoré využívajú algoritmy MATLABu pre numerické riešenie nelineárnych diferenciálnych rovníc. Poskytuje uživateľovi možnosť rýchlo a ľahko vytvárať modely dynamických sústav vo forme blokových schém a rovníc. Pomocou SIMULINKu a jeho grafického editoru je možné vytvárať modely lineárnych , nelineárnych, v čase diskrétne alebo spojité systémy, iba presúvaním a spájaním funkčných blokov pomocou myši.

4. Simulácia sústavy diferenciálnych rovníc

V prvej časti tohto príspevku bola definovaná sústava diferenciálnych rovníc (1), (2), (3) a (4) so vstupnými podmienkami, ako aj definovaná vstupná funkcia vo forme polynomu. Pik (t), pričom sú definované parametre simulácie :

Obr. č. 1 - Schéma simulácie diferenciálnych rovníc SIMULINKom

Na obr. č. 1 sú namodelované difeerenciálne rovnice a vstupná funkcia v tomto význame:

Obr. č. 2 - simulácia vstupnej funkcii u(t).

Obr. č. 3 - simulácia prvej diferenciálnej rovnice.

Obr. č. 4 - simulácia vzajomnej závislosti oboch diferenciálnych rovníc.

Modelovanie a simulácia sa vykonali MATLABom verzií 4.2.1c, ktorý je spúštaný pod WINDOWS 3.xx. Najnovšia verzia MATLAB 5, určená pre WINDOWS 95, NT, už má implementovanú knižnicu (TOOLBOX) určenú priamo na riešenie a simuláciu sústav diferenciálnych rovníc pod názvom DEE.

5. Záver

V príspevku je prezentovaná simulácia a modelovanie riešenia sústavy diferenciálnych rovníc pomocou programovacieho nástroja MATLAB a jeho nádstavbou SIMULINK, ktorá sú dokumentované grafický.

Literatúra

KUBÍK S. a kol. Teórie automatického řízení II. SNTL. TKI. Praha 1982.

MIKLEŠ J., HUTKA V. Teória automatickího riadenia. ALFA, SNTL, Bratislava, 1986.

JADLOVSKÁ A., SARNOVSKÝ J. Riešenie úloh optimálneho riadenia. ATP Journal, č.6, 1996

HRUBINA K. Algoritmy riešenia úloh optimálneho riadenia. In Zborník V.Vedeckej konferencie EF, VŠT Košice, 1989, pp. 50-54.

SALOKY T. Applications of Artificial Intelligence Techniques. ELFA Košice, Scriptum, 1993.