Řešení diferenciálních a diferenčních rovnic
Petr Hušek
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 2/29
Řešení diferenciálních a diferenčních rovnic
Petr Huš[email protected]
katedra řídicí technikyFakulta elektrotechnická
ČVUT v Praze
mailto:[email protected]
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 3/29
Co se dnes dozvíme?
Jaké vstupní signály používáme pro ověřování modelůJak analyticky vyřešit jednoduché lineární diferenciálnírovniceZ jakých částí se skládá řešení diferenciální rovniceJak vyřešit diferenční rovnici
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 4/29
Používané vstupní signály
0 2 4 6 8 100
0.2
0.4
0.6
0.8
1
u(t)
t[s]
jednotkovy skok
0 2 4 6 8 100
0.2
0.4
0.6
0.8
1
u(t)
t[s]
jednotkovy skok diskretni
0 2 4 6 8 100
0.2
0.4
0.6
0.8
1
u(t)
t[s]
impulsni vstup
0 2 4 6 8 100
0.2
0.4
0.6
0.8
1
u(t)
t[s]
impulsni vstup diskretni
( ) ( )u t t=1 ( ) ( )u t t= δ
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 5/29
0 2 4 6 8 100
2
4
6
8
10u(
t)
t[s]
rampa
0 2 4 6 8 100
2
4
6
8
10
u(t)
t[s]
rampa diskretni
0 2 4 6 8 10-1
-0.5
0
0.5
1
u(t)
t[s]
harmonicky vstup
0 2 4 6 8 10-1
-0.5
0
0.5
1
u(t)
t[s]
harmonicky vstup diskretni
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 6/29
Řešení diferenciálních a diferenčních rovnic
Diferenciální rovnice
() ) )( (J B rR R
ddtv v t Ft t+ =
derivace hledané (výstupní) funkce
známá (vstupní) funkce (+ jejíderivace)
parametry (konstanty)
nutné pro ověření správnosti modelu (nebo odsimulovat)známe vstup u(t), počáteční podmínky; výstup y(t) = ?
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 7/29
lineární (formována lineární kombinací derivací vstupu a výstupu) x nelineární diferenciální rovnice
obecná lineární diferenciální rovnice s konstantními koeficienty v teorii systémů
řád rovnice n (>=m)popisuje lineární spojitý systémk její řešení nutno znát n počátečních podmínek
() ) )( (J B rR R
ddtv v t Ft t+ = ( ( )( ) )v t vd
dta tb F t+ =2
( ) ( )) ( ( )( ) ( )( ) ) ) ( )( (n n mm
n nm
ma a a b b by t y t y u t tt u t u− −−−+ + + = + + +1 0 1 011
( ) ( )( )( ) ( ) ( ) , ( () ( ), ( ) p) ro d y ty t y t y t y y t y t y td
t tut
= = = = = =′′ = <2
2 02 0 0
( ) ( )( ), ( ), , ( ), ( )n ny y y y− − ′1 20 0 0 0…
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 8/29
analytické řešení
ypp(t) – závisí na počátečních podmínkách (odezva na ně)
– pouze funkce eat, eatsin(ωt+φ), tn
(( )) ()pp uy tt yy t= +
0 2 4 6 8 100
2
4
6
8
10
y pp(
t)
t[s]
ypp(t)=konst
0 2 4 6 8 100
2
4
6
8
10
y pp(
t)
t[s]
ypp(t)=t
0 2 4 6 8 10-1
-0.5
0
0.5
1
y pp(
t)
t[s]
ypp(t)=sin(2t+π /3)
0 2 4 6 8 10-0.2
0
0.2
0.4
0.6
0.8
1
1.2
y pp(
t)
t[s]
ypp(t)=e-tsin(2t+π /3)
0 2 4 6 8 100
0.2
0.4
0.6
0.8
1
y pp(
t)
t[s]
ypp(t)=e-0.5t
0 2 4 6 8 100
2
4
6
8
10
y pp(
t)t[s]
ypp(t)=0.1t2
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 9/29
yu(t) – odezva na vstupní signál u(t) (vnucená)
– skládá se z funkcí eat, eatsin(ωt+φ), tn (závislé na vlastnostech systému) a z funkce signálu u(t)
rovnice 1.řádu – integrační charakter
Řešení jednoduchých diferenciálních rovnic
Ci0 u1
Lu0 iL
v
m
F
(( ) (,) )C C Cd
dt Ctu u uit = =0 00
1 (( ) (,) )L L Ld
dt Lti i iut = =0 00
1 ( )( ) ( ),dv t vd
vtt m
F= = 001
( )( ) ( ),u td bd
yt
y t y= = 00
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 10/29
(( () ( )) )ppt
uy t b uy t y dy t τ= + = τ+ ∫0
0řešení:
: (( ) ( ) ( ))t
y tu t y d yt b bt= + τ τ = += ∫0 00
11
( ) ( ) ( )( ) ( ) , ; ( ), .,F t F td m kgdtv t v v v t
mt v t== = += =0 0
1 0 01 52
0 2 4 6 8 100
0.2
0.4
0.6
0.8
1
F(t)
t[s]
vstupni signal
0 2 4 6 8 100
1
2
3
4
5
6
7
v(t)
t[s]
prubeh rychlosti, v0=2m/s
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 11/29
( ): ( ) sin( ) cos( )( ) sint by t y b d y tu t t = + ωτ τ = − ω −
ω= ω ∫0 0
0
1
( ) ( ) sin ,( ) ( ) , ; ( ) ., . cosd mv t v v v t vkgdt
F t tm
t F t= = + −== =0 00 0 0 52 51
0 2 4 6 8 10-1
-0.5
0
0.5
1
F(t)
[N]
t[s]
vstupni signal
0 2 4 6 8 100
0.5
1
1.5
2
2.5
3
3.5
v(t)
[m/s
]
t[s]
prubeh rychlosti, v0=2m/s
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 12/29
rovnice 1.řádu
( ) ( () )J d B rR dt R
v v t Ft t+ =
,( ) ( ) ( )( )y t y t u ta b ydt
yd
+ = = 00
ω,v
Fr
R
J
r
R
Cu0iR iC
u1
101
( ( ) )) (du t u ut tRCdt
+ =
Fv
B
( ) )( ()dm Bd
vt
v t F tt + =
( )v v= 00 ( )v v= 00 ( )u u=1 100( (( ) ) )v t vd B
dt
tt
m mF+ = 1 ( ) ( ) ( )v t v td B Rr
dt
J JF
t+ = 1 1 0
( ) ( ) 1 )1 (ddt RC R
uu tC
tu t + =
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 13/29
( ) ( )(( ) )t
at aau
tpp y ty t b u eyy ee dt
− − ττ+ τ= + = ∫00
řešení:
: ( )( ) ( )t
at at a at atb by t y e be eu t d y e ea a
t − − τ − −= + τ = + −= ∫0 00
1
2 .
,
. kgm , . Nms/rad, . m,
(( ) ( ) ( ) ,
( ) ; (
) ( ) ( ),
). m, t
d B Rrdt Jv t v t v v
v v tJ
J B
t t
r
t
eR
F F
−
=+ =
== = = = = −
= 01 39
1000
0 0 6 60 36 0 5 0 2 0 15
0 2 4 6 8 100
1
2
3
4
5
6
7
v[m
/s]
t[s]
trenazer, J=0.36 kgm2, B=0.5 Nms/rad, R=0.2 m, r=0.15 m
0 2 4 6 8 100
20
40
60
80
100
F(t)
[N]
t[s]
vstupni signal
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 14/29
rovnice vyšších řádůlineární
– analyticky velmi obtížné– použití integrální transformace – Laplaceova (pracné)– numerické metody (součást simulačních programů)
nelineární– analyticky většinou nemožné– numerické metody (součást simulačních programů)
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 15/29
Diferenční rovniceposunuté průběhy hledané
(výstupní) funkce
známá (vstupní) funkce (+ jejíposunutí nebo diference)
parametry (konstanty)
( )() ()( )v t v tJ J BT rR t TT TF− = −−−
( ( )) ( )v t T vJ B rR R
Ft TTt
t−∆ = −−+∆
diference hledané (výstupní) funkce
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 16/29
lineární (formována lineární kombinací posunutých průběhů vstupu a výstupu) x nelineární diferenciálnírovnice
obecná lineární diferenční rovnice s konstantními koeficienty
řád rovnice n (>=m) ↔ kauzalitapopisuje lineární diskrétní systém
( )() ()( )v t v tJ J BT rR t TT TF− = −− −
( ) ( ) ( ) sin ( )t t T t Tl
Tg tTϕ ϕ − ϕ − ϕ −− + + =2
2 22 0
( ) ( ) (( ) ( ) (
))
n n
m m
y t y t Tu t u t T u t mT
y t na a ab
Tb b
−
−
+ + + =
= +
− −
+ +− −1 0
1 0
pro( ) ( )u t ty t = =
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 17/29
( ), ( ), , ( )y y y n −0 1 1…
jiný zápis diferenční rovnice: t = kT (k → t) →
nebo
pokud popisuje spojitý systém, T – perioda vzorkováník její řešení nutno znát n počátečních podmínek
pro systémy řádu n>=2 často nutno p.p. přepočítat:
( ) ( ) ( )( ) ( ) ( )n n
m mu k u k u k my k y k ya a ab
kb
nb−
−
+ + + =
=
− −
−+ +− +1 0
1 0
11
( ) ( ) ( )( ) ( ) ( )n n
m mu t u t u t my t y t ya a ab
tb
nb−
−
+ + + =
=
− −
−+ +− +1 0
1 0
11
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 18/29
kyvadlo
( ) ( ) ( ) sin ( )t t T t Tl
Tg tTϕ ϕ − ϕ − ϕ −− + + =2
2 22 0
( ) , ( ) TTϕ = ϕ ϕ = ϕ00
( ) ( ) ( )( ) , ( ) ( ) ( ) ( )T T TT T
∆ϕ ϕ −ϕϕ = ϕ ω = ⇒ ϕ = ω +ϕ0
0 00 0 0 0
m
mφ ( ) , ( )
potřebujeme
většinou známe
přepočet
ϕ = ϕ ω = ω0 00 0
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 19/29
Řešení diferenčních rovnic
( )() ()( )v t v tJ J BT rR t TT TF
rekurzivně
− = −− −
2. kgm , . Nms/rad, . m m ( ), . ,J B R r v= = = = =0 36 0 5 0 2 0 15 0 0
( ) ( ( ))v t v t F tJ BT rJ
T RTJ
T− = −−−
volba T = 0.1s: .( ) ( ( )) .v t v t T F t T−− − =0 861 0 0083
.( ) ( ( )) .v t v t T F t T−= − +0 861 0 0083
uvažujme F(t) = 100*1(t)
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 20/29
t = T = 0.1s: ( ). .. ..
( ) ( )v T v F= += ⋅ + ⋅=
0 861 0 00830 861 0 0 0083 100
0
0
0
83t = 2T = 0.2s: . .
. . .) ( (
.
( ))v T v T F T= += ⋅ + ⋅=
0 861 0 00830 861 0 83 0 0083 1001
2
54t = 3T = 0.3s: . .
.( )
.(
..
( ) ) F Tv T v T= ⋅ + ⋅= ⋅ + ⋅=
0 861 0 00830 861
3 21 71 0 0083 1 0
20
2 16
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 21/29
velmi snadno algoritmizovatelné
%inicializacer=0.15;R=0.2;J=0.36;B=0.5;T=0.1;t = [0:0.1:10]; % casova osa, t = [0 0.1 0.2 ... 10]v = zeros(1,101); % inicializace rychlosti, v = [0 0 ... 0]Fped = 100;F = [0, Fped*ones(1,100)]; % konstantni sila, F = [0 100 100 ... 100]
% vypocet rychlostifor i = 2:101 % smycka pro vypocet rychlosti
v(i) = ((J-B*T)/J)*v(i-1) + (r*R*T/J)*F(i); % rovnice pro rychlostend
%vykresleni grafu%cas na osu x, rychlost na osu yfigure(2)plot(t,v,'Color','Blue','LineStyle','none','Marker','o','MarkerSize',8,'Linewidth',3) grid on %mrizkaset(gca,'FontSize',14)title('Rychlost setrvacniku','FontSize',14) %nadpis grafuxlabel('t[s]','FontSize',14) %popis osy xylabel('v[m/s]','FontSize',14) %popis osy y
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 22/29
-0.2 0 0.2 0.4 0.6 0.8 10
20
40
60
80
100
F(t)
[N]
t[s]
vstupni sila
0 2 4 6 8 100
1
2
3
4
5
6rychlost setrvacniku
t[s]
v[m
/s]
0 0.2 0.4 0.6 0.8 10
1
2
3
4
5rychlost setrvacniku
t[s]
v[m
/s]
0 2 4 6 8 100
1
2
3
4
5
6rychlost setrvacniku
t[s]
v[m
/s]
diskretni vypocetspojite reseni
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 23/29
0 0 .2 0 .4 0 .6 0 .8 10
2 0
4 0
6 0
8 0
1 0 0
F(t)
[N]
t [s ]
vs tup n i s ila
0 0 .2 0 .4 0 .6 0 .8 10
1
2
3
4
5ryc h lo s t s e trva c n iku
t[s ]
v[m
/s]
y(t)y(t-1)
u(t-1)
n
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 24/29
F(t) = 100+100sin2t ↔ změníme 1 (jeden)!! řádek v programu
%inicializacer=0.15;R=0.2;J=0.36;B=0.5;T=0.1;t = [0:0.1:10]; % casova osa, t = [0 0.1 0.2 ... 10]v = zeros(1,101); % inicializace rychlosti, v = [0 0 ... 0]Fped = 100;F = [0, Fped+Fped*sin(2*t)];% harmonicka sila
% vypocet rychlostifor i = 2:101 % smycka pro vypocet rychlosti
v(i) = ((J-B*T)/J)*v(i-1) + (r*R*T/J)*F(i); % rovnice pro rychlostend
%vykresleni grafu%cas na osu x, rychlost na osu yfigure(2)plot(t,v,'Color','Blue','LineStyle','none','Marker','o','MarkerSize',8,'Linewidth',3) grid on %mrizkaset(gca,'FontSize',14)title('Rychlost setrvacniku','FontSize',14) %nadpis grafuxlabel('t[s]','FontSize',14) %popis osy xylabel('v[m/s]','FontSize',14) %popis osy y
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 25/29
0 2 4 6 8 100
50
100
150
200
F(t)
[N]
t[s]
vstupni sila
0 2 4 6 8 100
2
4
6
8
10rychlost setrvacniku
t[s]
diskretni vypocetspojite reseni
v[m
/s]
a co nelineární systémy?
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 26/29
kulička na tyči( ) ( ) s ( )( in)x t x t T x t t TT KT− + =− ϕ −− 22 22
gKRr
=⎛ ⎞+ ⎜ ⎟⎝ ⎠
2215
. m, . mR r= =0 01 0 007
0 0.5 1 1.5 20
1
2
3
4
5
phi[o
]
t[s]
vstupni uhel
0 0.5 1 1.5 20
0.2
0.4
0.6
0.8
1kulicka na tyci
t[s]
x[m
]
diskretni vypocetspojite reseni
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 27/29
Je jednodušší vyřešit diferenciální nebo diferenční rovnici?
analytickydiferenciální rovnice je o něco jednoduššírovnice vyšších řádů nebo nelineární velmi obtížné
numericky bez použití speciálních nástrojů (matematický software, simulační nástroje)
diferenciální rovnice neřešitelnádiferenční rovnice řešitelná velmi jednoduše
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 28/29
Kontrolní otázky
Budeme-li šlapat na trenažeru konstantní silou, jeho rychlost se po nějaké době ustálí na konečné hodnotě. Je tato hodnota závislá na velikosti momentu setrvačnosti J? Pokuste se zdůvodnit.Pro systém kulička na tyči napište program, který vykreslí odezvu polohy kuličky na skok úhlu z 0 na 5 stupňů, jestliže počáteční poloha kuličky je x(0) = -0.2m.Které veličiny a v jakých časových okamžicích mají vliv na hodnotu výstupu diskrétního systému v čase y(t)?Určete hodnotu rychlosti závaží v časech t = 0, T, 2T následujícího systému. Volte T = 0.1s, m = 2kg. Vstupní síla F(t) = 100.1(t).
-0.2 0 0.2 0.4 0.6 0.8 10
20
40
60
80
100F(
t) [N
]
t[s]
vstupni sila
v
m
F
MAS 2007/08 ČVUT v Praze 5 - Řešení diferenciálních a diferenčních rovnic 29/29
Jak obecně vypadá diferenciální a jak diferenční rovnice popisujícílineární systém 2.řádu?Průběhy výstupních veličin spojitých a diskrétních systémů u probraných příkladů se přesně neshodují. Proč?Může mít lineární spojitý systém nenulový výstup, jestliže na jeho vstup nepřivedeme žádný signál? A lineární diskrétní systém?Je následující diferenční rovnice lineární?
Kolik počátečních podmínek je třeba znát k jednoznačnému řešenílineární diferenční rovnice?
() ( ) )(y t y t T u t T+ + =− −2 1
Řešení diferenciálních a diferenčních rovnicŘešení diferenciálních a diferenčních rovnicCo se dnes dozvíme?Kontrolní otázky