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

Podobne dokumenty