Anda di halaman 1dari 22

Dynamical Systems Analysis II:

Evaluating Stability, Eigenvalues

By Peter Woolf (pwoolf@umich.edu)
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
E.g. With my control architecture, this process
will always ________.
Solution: Stability Analysis
Topic for today!
Exponential increase Increase w/ oscillation
Stable oscillation
Periodic solution Non-periodic solution
(chaotic)
Only possible for
nonlinear systems
Decay w/ oscillation Exponential decay
How can we know where the
system will go?
Possible approaches:
1. Simulate system and observe
Cant 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.
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)
Only works for linear models
Linear approximations of nonlinear models
break down away from the point of
linearization
Provides strong guarantees for linear systems
General
!
dA
dt
= 3A" A
2
" AB
dB
dt
= 2B" AB "2B
2
Nonlinear model
Linear approximation at A=0, B=0
Jacobian
Or 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
#
\$
%
&
'
(
=
k
11
k
12
k
21
k
22
#
\$
%
&
'
(
A
B
#
\$
%
&
'
(
+
k
13
k
23
#
\$
%
&
'
(
!
k
11
k
12
k
21
k
22
"
#
\$
%
&
'
A
B
"
#
\$
%
&
'
!
"
1 0
0 1
#
\$
%
&
'
(
A
B
#
\$
%
&
'
(
??
Can we find a ! value that satisfies this relationship?
!
k
11
k
12
k
21
k
22
"
#
\$
%
&
'
( )
1 0
0 1
"
#
\$
%
&
'
*
+
,
-
.
/
A
B
"
#
\$
%
&
'
= 0
!
k
11
" # k
12
k
21
k
22
" #
\$
%
&
'
(
)
*
+
,
-
.
/
A
B
\$
%
&
'
(
)
= 0
!
k
11
" #
( )
A+ k
12
B = 0
k
21
A+ k
22
" #
( )
B = 0
Written
differently..
This is an
eigenvalue
!
k
11
" #
( )
A+ k
12
B = 0
k
21
A+ k
22
" #
( )
B = 0
!
k
11
A" #A + k
12
B = 0
k
21
A+ Bk
22
" #B = 0
expand
!
B =
"k
11
A+ #A
k
12
k
21
A+
"k
11
A+ #A
k
12
\$
%
&
'
(
)
k
22
" #
"k
11
A+ #A
k
12
\$
%
&
'
(
)
= 0
Solve for B
!
k
21
A"
k
11
Ak
22
k
12
+
#Ak
22
k
12
+
#k
11
A
k
12
+
#
2
A
k
12
= 0
!
A k
21
"
k
11
k
22
k
12
+
#k
22
k
12
+
#k
11
k
12
+
#
2
k
12
\$
%
&
'
(
)
= 0
!
A k
21
"
k
11
k
22
k
12
+
#k
22
k
12
+
#k
11
k
12
+
#
2
k
12
\$
%
&
'
(
)
= 0
Solve for !
!
" =
1
2
k
11
+ k
22
k
11
2
+ 4k
12
k
21
#2k
11
k
22
+ k
22
2
[ ]
Observations:
1) Yes! There is always a way decouple a coupled linear
system
2) Direct approach involves lots of algebra
There is an easier way..
A bit of linear algebra background
Goal: solve this system for !
!
k
11
" # k
12
k
21
k
22
" #
\$
%
&
'
(
)
*
+
,
-
.
/
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
"
#
\$
%
&
'
!
Det
a b
c d
"
#
\$
%
&
'
= a* d (b*c
A bit of linear algebra background
Goal: solve this system for !
!
k
11
" # k
12
k
21
k
22
" #
\$
%
&
'
(
)
*
+
,
-
.
/
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
k
11
" # k
12
k
21
k
22
" #
\$
%
&
'
(
)
= 0
Revised Goal: find ! that satisfies
!
k
11
" #
( )
k
22
" #
( )
" k
12
k
21
= 0
!
" =
1
2
k
11
+ k
22
k
11
2
+ 4k
12
k
21
#2k
11
k
22
+ k
22
2
[ ]
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
Eigenvalues tell us the exponential part of the
solution of the differential equation system
Three possible values for an eigenvalue
1) Positive value: system will increase
exponentially
2) Negative value: system will decay
exponentially
3) Imaginary value: system will oscillate
(note combinations of the above are possible)
What do eigenvalues tell us
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
Negative real
eigenvalue
Small perturbations
left or right will
cause the marble to
decay away from
position (x
ss
)
Positive real
eigenvalue
Small perturbations
in y are stable, while
perturbations in x
point), thus overall
point is unstable!
Positive and
negative real
eigenvalues
x
ss
x
Case I: stable
x
ss
x
Case II: unstable
x
ss,
,y
ss
x
y
!
" A
" B
#
\$
%
&
'
(
=
3 )2
2 )2
#
\$
%
&
'
(
A
B
#
\$
%
&
'
(
+
3
4
#
\$
%
&
'
(
1) Calculate eigenvalues
Eigenvalues: !
1
=2, !
2
= -1
2) Classify stability:
At least one eigenvalue is positive,
so the point is unstable and a
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/ oscillation Exponential decay
(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