View
238
Download
1
Tags:
Embed Size (px)
Citation preview
Dynamical Systems Analysis II:Evaluating Stability, Eigenvalues
By Peter Woolf ([email protected])University of Michigan
Michigan Chemical Process Dynamics and Controls Open Textbook
version 1.0
Creative commons
Problem: Given a large and complex system of ODEs describing the dynamics and control of your process, you want to know:
(1)Where will it go?
(2)What will it do?
Is there anything fundamental you can say about it?
E.g. With my control architecture, this process will always ________.
Solution: Stability Analysis
Steady state from last lecture.
Topic for today!
Exponential increase Increase w/ oscillation
Stable oscillation
Periodic solution Non-periodic solution(chaotic)
Only possible for nonlinear systems
Decay w/ oscillationExponential decay
What will your system do?
How can we know where the system will go?
Possible approaches:
1. Simulate system and observe
Disadvantages:• Can’t provide guaranteed behavior, just samples of possible trajectories.• Requires simulations starting from many points• Assumes we have all variables defined, thus hard to use to design controllers.
Advantages:• Works for any system you can simulate• Intuitive--you see the results
How can we know where the system will go?
Possible approaches:
1. Simulate system and observe
2. Stability Analysis (this class)
Disadvantages:• Only works for linear models• Linear approximations of nonlinear models break down away from the point of linearization
Advantages:• Provides strong guarantees for linear systems• General
€
dA
dt= 3A − A2 − AB
dB
dt= 2B − AB − 2B2
Nonlinear modelLinear approximation at A=0, B=0
JacobianOr in a different format
€
dA
dt= 3A
dB
dt= 2B
From last class…
€
′ A
′ B
⎡
⎣ ⎢
⎤
⎦ ⎥=
3 0
0 2
⎡
⎣ ⎢
⎤
⎦ ⎥A
B
⎡
⎣ ⎢
⎤
⎦ ⎥+
0
0
⎡
⎣ ⎢
⎤
⎦ ⎥
Intuitively, what will the linear system do if A is perturbed slightly from 0?
€
dA
dt= 3(0 + Δ) Increase in A above 0
yields a positive derivative
Increase in A
Increase in slope of A
Exponential increase
But what if our model is more complex?
€
′ A
′ B
⎡
⎣ ⎢
⎤
⎦ ⎥=
3 −2
2 −2
⎡
⎣ ⎢
⎤
⎦ ⎥A
B
⎡
⎣ ⎢
⎤
⎦ ⎥+
3
4
⎡
⎣ ⎢
⎤
⎦ ⎥
E.g. (note: example below is made up)Or in a different format
€
dA
dt= 3A − 2B + 3
dB
dt= 2A − 2B + 4
What will happen if A or B are increased slightly from the steady state value of A=1, B=3?
Result: increase A, A and B increase!
Result: increase B, A and B decrease!
€
dA
dt= 3(1+ Δ) − 2(3) + 3 = +3Δ
dB
dt= 2(1+ Δ) − 2(3) + 4 = +2Δ
Increase A by :
€
dA
dt= 3(1) − 2(3+ Δ) + 3 = −2Δ
dB
dt= 2(1) − 2(3+ Δ) + 4 = −2Δ
Increase B by :
Observations:1. It is easy to predict where a linear system will go if the
variables are decoupled
2. Coupling between variables makes it harder to predict what will happen
3. Coupling is determined by the Jacobian
€
dA
dt= 3A
dB
dt= 2B
A only influences A, B only influences B.-> Variables are decoupled
€
dA
dt= 3A − 2B + 3
dB
dt= 2A − 2B + 4
Changes in A influence changes in A and B. Changes in B influence changes in A and B.--> Variables are coupled
Is it possible to change a coupled system to a decoupled one?
€
′ A
′ B
⎡
⎣ ⎢
⎤
⎦ ⎥=
k11 k12
k21 k22
⎡
⎣ ⎢
⎤
⎦ ⎥A
B
⎡
⎣ ⎢
⎤
⎦ ⎥+
k13
k23
⎡
⎣ ⎢
⎤
⎦ ⎥
€
k11 k12
k21 k22
⎡
⎣ ⎢
⎤
⎦ ⎥A
B
⎡
⎣ ⎢
⎤
⎦ ⎥
€
λ1 0
0 1
⎡
⎣ ⎢
⎤
⎦ ⎥A
B
⎡
⎣ ⎢
⎤
⎦ ⎥
??
Can we find a λ value that satisfies this relationship?
€
k11 k12
k21 k22
⎡
⎣ ⎢
⎤
⎦ ⎥− λ
1 0
0 1
⎡
⎣ ⎢
⎤
⎦ ⎥
⎛
⎝ ⎜
⎞
⎠ ⎟A
B
⎡
⎣ ⎢
⎤
⎦ ⎥= 0
€
k11 − λ k12
k21 k22 − λ
⎡
⎣ ⎢
⎤
⎦ ⎥
⎛
⎝ ⎜
⎞
⎠ ⎟A
B
⎡
⎣ ⎢
⎤
⎦ ⎥= 0€
k11 − λ( )A + k12B = 0
k21A + k22 − λ( )B = 0
Written differently..
This is an eigenvalue
€
k11 − λ( )A + k12B = 0
k21A + k22 − λ( )B = 0
€
k11A − λA + k12B = 0
k21A + Bk22 − λB = 0
expand
€
B =−k11A + λA
k12
k21A +−k11A + λA
k12
⎛
⎝ ⎜
⎞
⎠ ⎟k22 − λ
−k11A + λA
k12
⎛
⎝ ⎜
⎞
⎠ ⎟= 0
Solve for B
€
k21A −k11Ak22
k12
+λAk22
k12
+λk11A
k12
+λ2A
k12
= 0
€
A k21 −k11k22
k12
+λk22
k12
+λk11
k12
+λ2
k12
⎛
⎝ ⎜
⎞
⎠ ⎟= 0
€
A k21 −k11k22
k12
+λk22
k12
+λk11
k12
+λ2
k12
⎛
⎝ ⎜
⎞
⎠ ⎟= 0
Solve for λ
€
λ =1
2k11 + k22 ± k11
2 + 4k12k21 − 2k11k22 + k222
[ ]
Observations:1) Yes! There is always a way decouple a coupled linear
system2) Direct approach involves lots of algebra
There is an easier way..
A bit of linear algebra background
Goal: solve this system for λ
€
k11 − λ k12
k21 k22 − λ
⎡
⎣ ⎢
⎤
⎦ ⎥
⎛
⎝ ⎜
⎞
⎠ ⎟A
B
⎡
⎣ ⎢
⎤
⎦ ⎥= 0
Determinant: a property of any square matrix that describes the degree of coupling between the equations.
Determinant equals zero when the system is not linearly independent, meaning one of the equations can be cast as a linear combination of the others.
€
Det
a b c
d e f
g h i
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥= a* Det
e f
h i
⎡
⎣ ⎢
⎤
⎦ ⎥− b* Det
d f
g i
⎡
⎣ ⎢
⎤
⎦ ⎥+ c * Det
d e
g h
⎡
⎣ ⎢
⎤
⎦ ⎥
€
Deta b
c d
⎡
⎣ ⎢
⎤
⎦ ⎥= a * d − b *c
A bit of linear algebra background
Goal: solve this system for λ
€
k11 − λ k12
k21 k22 − λ
⎡
⎣ ⎢
⎤
⎦ ⎥
⎛
⎝ ⎜
⎞
⎠ ⎟A
B
⎡
⎣ ⎢
⎤
⎦ ⎥= 0
Determinant: a property of any square matrix that describes the degree of coupling between the equations.
Determinant equals zero when the system is not linearly independent, meaning one of the equations can be cast as a linear combination of the others.
€
Detk11 − λ k12
k21 k22 − λ
⎡
⎣ ⎢
⎤
⎦ ⎥= 0
Revised Goal: find λ that satisfies
€
k11 − λ( ) k22 − λ( ) − k12k21 = 0
€
λ =1
2k11 + k22 ± k11
2 + 4k12k21 − 2k11k22 + k222
[ ]
Similar Analysis can be done in Mathematica:
Det[{a,b},{c,d}] :Find the determinant of a matrix
Solve [{eqn1, eqn2,..},{var1, var2,..} ] : Solve algebraically
Eigenvalues[{a,b},{c,d}] : Automatically find the eigenvalues
What do eigenvalues tell us about stability?
Eigenvalues tell us the exponential part of the solution of the differential equation system
Three possible values for an eigenvalue1) Positive value: system will increase
exponentially2) Negative value: system will decay
exponentially3) Imaginary value: system will oscillate(note combinations of the above are possible)
What do eigenvalues tell us about stability?
Effect: If any eigenvalue has a positive real part, the system will tend to move away from the fixed point
Marble Analogy
Small perturbations left or right will cause the marble to decay back to the steady state position
Negative real eigenvalue
Small perturbations left or right will cause the marble to decay away from the steady state position (xss) Positive real eigenvalue
Small perturbations in y are stable, while perturbations in x are unstable (saddle point), thus overall point is unstable! Positive and negative real eigenvalues
xssx
Case I: stablexss
x
Case II: unstable
xss,,yss
x
y
Case III: Saddle point
€
′ A
′ B
⎡
⎣ ⎢
⎤
⎦ ⎥=
3 −2
2 −2
⎡
⎣ ⎢
⎤
⎦ ⎥A
B
⎡
⎣ ⎢
⎤
⎦ ⎥+
3
4
⎡
⎣ ⎢
⎤
⎦ ⎥
Revisit our example: What will happen here?
1) Calculate eigenvalues
Eigenvalues: λ1=2, λ2= -1
2) Classify stability:At least one eigenvalue is positive,
so the point is unstable and a saddle point.
Exponential increase
€
′ A
′ B
′ C
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥=
3 −2 1
2 2 −2
−1 2 0
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
A
B
C
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥+
8
−2
4
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
A more complex example: What will happen here?
1) Calculate eigenvalues
Force Mathematica to find a numerical value using N[ ]
Using the Eigenvalue[ ] function in Mathematica
Given these eigenvalues what will it do?
€
′ A
′ B
′ C
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥=
3 −2 1
2 2 −2
−1 2 0
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
A
B
C
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥+
8
−2
4
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
2) Classify stability:
• The real component of at least one eigenvalue is positive, so the system is unstable.
• There are imaginary eigenvalue components, so the response will oscillate.
Increase w/ oscillation
A more complex example: What will happen here?
Exponential increase Increase w/ oscillation
Stable oscillation
Decay w/ oscillationExponential decay
What will your system do?(according to eigenvalues)
All λs are real and negative
All λs are real and at least one positive
All λs have negative real parts, some imaginary parts
At least one λ has positive real parts, some imaginary parts
All λs have zero real parts and nonzero imaginary parts
Take Home Messages
• Stability of linear dynamical systems can be determined from eigenvalues
• Complicated sounding terms like eigenvalues and determinant can be derived from algebra alone--fear not!
• Stability of nonlinear dynamical systems can be locally evaluated using eigenvalues