3 Rozwiązywanie równań różniczkowych
Transkrypt
3 Rozwiązywanie równań różniczkowych
MODELOWANIE SYSTEMÓW EMPIRYCZNYCH Rozwiązywanie równań różniczkowych Dzadz Łukasz pok. 114 [email protected] Tel. 523-49-40 Katedra Inżynierii Systemów WNT UWM w Olsztynie CZYM JEST RÓWNANIE RÓŻNICZKOWE Równanie różniczkowe jest to równanie wyznaczające zależność między nieznaną funkcją a jej pochodnymi. Równanie różniczkowe zwyczajne to równanie, w którym występują stałe, funkcje niewiadome oraz pochodne funkcji niewiadomych. W równaniach różniczkowych zwyczajnych funkcje niewiadome zależą od jednej zmiennej niezależnej. RÓWNANIA RÓŻNICZKOWE Równanie różniczkowe zwyczajne ( ordinary differential equation) przyjmuje ogólną postać: dy dk y F (t , y, ,..., k ) 0 dt dt t – zmienna niezależna, y– nieznana funkcja dy dky ,..., k - pochodne nieznanej funkcji. dt dt Równanie tej postaci nazywamy równaniem różniczkowych k-tego rzędu RÓWNANIA RÓZNICZKOWE Po rozwikłaniu poprzedniego równania otrzymujemy: dky dy d k 1 y f (t , y, ,..., k 1 ) k dt dt dt ROZWIĄZYWANIE RÓWNAŃ RÓŻNICZKOWYCH Pakiet MATLAB zawiera wbudowane algorytmy które rozwiązują zagadnienia początkowe dla równań różniczkowych I rzędu. Algorytmy te oznacza się w skrócie jako odeXX . Są to między innymi: Ode23 – zmodyfikowana jednokrokowa metoda Rungego-Kutty, rzędu 2 i 3 Ode45 – jednokrokowa metoda Rungego-Kutty, rzędu 4 i 5 ROZWIĄZYWANIE RÓWNAŃ RÓŻNICZKOWYCH Składnia funkcji odeXX: [T, Y] = ode23 (‘odefun’, [t0 tk], y0, options) [T, Y] = ode45 (‘odefun’, [t0 tk], y0, options) [T, Y] – wektor czasu i wartości rozwiązań, odeXX – nazwa solvera, odefun – nazwa M-pliku funkcyjnego lub jego uchwyt (@ (T Y) odefun (argumenty wejściowe typu t,y,…) ), [t0 tk] – wektor w którym określa się początkową i końcowa wartość zmiennej niezależnej (zwykle czas), y0 – wektor wartości początkowych, options – struktura w której zapisane są parametry całkowania. Do zmiany tych parametrów służy funkcja odeset ROZWIĄZYWANIE RÓWNAŃ RÓŻNICZKOWYCH MATLAB pozwala również na rozwiązywanie równań różniczkowych wyższego rzędu niż I. W tym przypadku trzeba jednak zapisać równanie w postaci układu równań różniczkowego pierwszego rzędu. ROZWIĄZYWANIE RÓWNAŃ RÓŻNICZKOWYCH Mając równanie k-tego rzędu: dk y dy d 2 y d k 1 y f t , y, , 2 ,..., k 1 k dt dt dt dt Dokonujemy podstawień: y1 y dy dt .......... ...... y2 d k 1 y yk k 1 dt ROZWIĄZYWANIE RÓWNAŃ RÓŻNICZKOWYCH W wyniku dokonanych podstawień powstaje układ równań I rzędu: y1 y2 ' y 2 y3 ' . . . yk f (t , y1 , y2 ,..., yk ) ' ROZWIĄZYWANIE RÓWNAŃ RÓŻNICZKOWYCH Zapis równania Van der Pola (rr II rzędu) w postaci układu rr rzędu I. postać pierwotna y '' (1 y 2 ) y ' y dokonujemy podstawienia y1 y y2 y ' y3 y '' ROZWIĄZYWANIE RÓWNAŃ RÓŻNICZKOWYCH W wyniku podstawienia powstaje układ równań: y1' y2 ' y2 (1 y12 ) y2 y1 IMPLEMENTACJA DO PAKIETU MATLAB IMPLEMENTACJA DO PAKIETU MATLAB