linear system theory: linearization
TRANSCRIPT
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 1/29
NATIONAL CHENG KUNG UNIVERSITY
Department of Mechanical Engineering
LINEAR SYSTEM
HOMEWORK 3
Instructor: Prof. Szu – Chi Tien
Student: Nguyen Van Thanh
Student ID: P96007019
Department: Inst. of Manufacturing & Information Systems
Class: 1001- N154000 – Linear System
October 26, 2011
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 2/29
Linear System Theory Page 1
Contents
Problem 1 ....................................................................................................................... 2
Problem 2 ..................................................................................................................... 10 Problem 3 ..................................................................................................................... 19 Appendix A Matlab code for Problem 1 Part 4 ........................................................... 24 Appendix B Matlab code for Problem 1 Part 5 ........................................................... 25 Appendix C Matlab code for Problem 2 Part 2 ........................................................... 26 Appendix D Matlab code for Problem 2 Part 3 ........................................................... 27 Appendix E Matlab code for Problem 2 Part 4 ........................................................... 28
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 3/29
Linear System Theory Page 2
Problem 1
Consider the nonlinear state equations (which were studied extensively in class)
1. Find A and B of the linearized state equations evaluated at the above given nominal
condition, where
Is the system stable?
Solution
Rewrite the nonlinear state equations
Solve
To find equilibrium states. Take one equilibrium state with
, -
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 4/29
Linear System Theory Page 3
We can write as form
Where,
[
]
0 1
01 0 1 01
The polynomial characteristic equation of matrix A
The real part of the eigenvalues of matrix A are zero. Hence, the system is marginally
stable.
E.g. 0
1 , see Fig. 1.1.
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 5/29
Linear System Theory Page 4
Figure 1.1 Perturbed state responses.
Solution
0 1
Solution for that system differential equations is
* + 0 1} 0 1
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 6/29
Linear System Theory Page 5
01 The perturbed state responses are shown in Fig. 1.2.
Figure 1.2 Perturbed state responses with , -
Solution
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 7/29
Linear System Theory Page 6
0 1 01
By taking the Laplace transform, we obtain
0 1 01 0 1 0 1
The perturbed state responses are shown in Fig. 1.3.
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 8/29
Linear System Theory Page 7
Figure 1.3 Perturbed state responses with
, -
4. Under the conditions of Part 2, solve the full nonlinear state equations for x(t ) (using
numerical integration) for 0≤t≤ 20 sec. Compare graphically the results to those
obtained from the linearized state equations x(t )≈ xeq
+ δx(t ). Is the linear state model
representative of the nonlinear system? (Note: see supplementary reading for
writing your own function to solve the nonlinear equation).
Solution
The nonlinear and linearized states responses are shown in Fig.1.4.
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 9/29
Linear System Theory Page 8
Figure 1.4 The nonlinear and linearized state responses, under the conditions of Part 2
We can see that, the linearized state responses oscillate around the nonlinear state
responses with amplitude = 0.005. Hence, the linearized model can represent the
nonlinear system.
Note: please see the Appendix A for Matlab code
5. Under the conditions of Part 3, solve the full nonlinear state equations for x(t ) (using
numerical integration) for 0 ≤t ≤ 20 sec. Compare graphically the results to those
obtained from the linearized state equations x(t ) ≈ xeq
+ δx(t ). Is the linear state model
representative of the nonlinear system? (note: see supplementary reading for writing
your own function to solve the nonlinear equation).
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 10/29
Linear System Theory Page 9
Solution
Figure 1.5 The nonlinear and linearized state responses, under the conditions of Part 3
The nonlinear and linearized states responses are shown in Fig.1.5. We can see that,
when t becomes larger, the linearized state responses go far away from the nonlinear
state responses. Hence, the linear state model is not representative of the nonlinear
system.
Note: please see the Appendix B for Matlab code
6. Is the linearized system controllable?
Solution
The linearized system is
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 11/29
Linear System Theory Page 10
0 1 01
We will use the controllability matrix to test the system is controllable or not.
Controllability matrix
, - 0 1
Controllability matrix C has full rank. Hence, the system is controllable.
Problem 2
Given the following linear time-invariant system
I will use Matlab to solve this problem.
1. Is the system controllable? Explain.
Solution
The controllability matrix
, - 0 1
The controllability matrix C has full rank. Hence, the system is controllable.
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 12/29
Linear System Theory Page 11
2. Find a control input u(t) that bring the system states to () , -, where, . Confirm your results with simulation of the responses for 0 ≤ t
≤ 15 sec.
Solution
From Par1, the system is controllable, thus the controllability Grammian matrix is
invertible. The controllability Grammian matrix
Given x(0) and x(tf ), we choose a control input u(t)
, -
(
) . (
)/
( ) ( ) 0 1
( ) ∫
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 13/29
Linear System Theory Page 12
We can find the response through
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 14/29
Linear System Theory Page 13
( ) ∫
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 15/29
Linear System Theory Page 14
Figure 2.1 Input and state responses (tf = 10)
Fig. 2.1 Shows the control input and the state responses.
From the state responses, we have
0
1 So, we can find a input to make x(t=10) = xf, hence the system is controllable.
Note: the Matlab code is shown in the appendix C.
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 16/29
Linear System Theory Page 15
3. Repeat Part 2 where t f
=1 sec. Confirm your results with simulation of the responses
x(t) for 0≤ t ≤ 15 sec. How does this control input u(t ) compare with the previous
control obtained in Part 2? (i.e., higher or smaller control input).
Solution
Similar to Part 2, so I will directly show the figure.
Figure 2.2 Input and state responses (tf = 1)
From the state responses, we have
01
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 17/29
Linear System Theory Page 16
So, we can find a input to make x(t = 1) = xf , hence the system is controllable. And, we
can see that we need higher control input compare to Part 2 to control system. Hence, if
a system is controllable, we want to bring this to a given tf in a shorter time, we need
more input.
Note: the Matlab code is shown in the appendix D.
4. Find a totally different solution to the control input u(t ) that solves Part 2. That is,
the solution u(t )in Part 2 is NOT unique. For example, in digital control let
Where u1, u
2and t
1are constant parameters (to be determined) that provide another
control input u(t ) for the solution of Part 2.
Solution
If we can find a different input
to control the system as we want, and u1, u2, t1 are all constants, then the solution (or
responses) x(t) can be represented as
() . ( )/ ∫ . ( )/
∫ . ( )/
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 18/29
Linear System Theory Page 17
01 ∫ . ( )/
∫ . ( )/
() . ( )/
01
Using Matlab to solve this equation, choose t1 = 5 sec, we obtain
for
for
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 19/29
Linear System Theory Page 18
Figure 2.3 Input and state responses
A control input
for all , - and bring this system from initial sates to
final states, since x(t = tf = 10) = xf .
Note: the Matlab code is shown in the appendix E.
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 20/29
Linear System Theory Page 19
Problem 3
Consider the following linear time-invariant system,
1. Is the system controllable? Explain.
Solution
The controllability matrix
, -
Hence, the controllability Grammian is not invertible, so the system is uncontrollable.
2. Is the system stabilizable? Explain.
The characteristic polynomial equation of matrix A
There exists one that is positive, the system thus is unstable.
3. Identify the modes that are uncontrollable.
We will use the PHB rank test
, -
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 21/29
Linear System Theory Page 20
With
, -
This mode is uncontrollable.
With
, -
This mode is controllable.
With
, -
This mode is uncontrollable.
4. Find a set of orthonormal basis vectors for the controllable subspace.
Solution
The controllability matrix C has rank = 1, thus the controllable subspace is spanned by
a column of the matrix C. we select the first column of the matrix C
√ √
Hence, a set of orthonormal basis vectors for the controllable subspace is . Or by using
Matlab, with command: orth(C), we get
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 22/29
Linear System Theory Page 21
5.
Find a set of basis vectors for the uncontrollable subspace. Are there vectorsorthogonal to the controllable subspace?
Solution
From Part 4, the uncontrollable subspace must be of dimension . We can choose any two linearity independent vectors that are
not in the controllable subspace, for example
√ √√
So, a set of basis vectors for the uncontrollable subspace is √ √ √
We can check
These two vectors are orthogonal to the controllable subspace. But, it is not necessary.
6. Determine a state transformation P that separates the system into controllable and
uncontrollable subspace, where Solution
From state transformation formula
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 23/29
Linear System Theory Page 22
We choose
, - Where, are three eigenvectors of matrix A corresponding to three eigenvalues of
matrix A.
We obtain a new sate-space equation
7. Find the state model of the system transformed by the similarity transformation P
obtained in Part 6. Use this state model to determine which modes in the system are
controllable and uncontrollable.
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 24/29
Linear System Theory Page 23
Bring
From Part 6, we can find sate z1 is controllable mode, state z2 and z3 are
uncontrollable modes.
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 25/29
Linear System Theory Page 24
Appendix A Matlab code for Problem 1 Part 4
ODE function for the nonlinear system
function dx = xdiff(t,x) % nonlinear system u = 0; dx = zeros(2,1); dx(1) = x(2) - 2*x(1)*x(2); dx(2) = -x(1) + x(1)^2 + x(2)^2 + u; end
ODE function for perturbation
function ddx = dxdiff(dt,dx) % delta_x_diff = A*delta_x + B*delta_u; du = 0; ddx = zeros(2,1); ddx(1) = -dx(2); ddx(2) = dx(1) + du; end
m-file code
clc; clear all; close all; to = 0; tspan = 0.1; tfinal = 20; n = (tfinal - to)/tspan + 1;
% non-linear system xq = [1; 0]; [t,x] = ode45(@xdiff,to:tspan:tfinal,xq);
% perturbation dx0 = [0.01; 0.05]; [dt,dx] = ode45(@dxdiff,to:tspan:tfinal,dx0);
% linearized system x_linearized = zeros(n,2); x_linearized(:,1) = dx(:,1) + xq(1); x_linearized(:,2) = dx(:,2) + xq(2);
plot(t,x,dt,x_linearized); grid on; xlabel('Time, sec');
ylabel('States'); legend('x_1','x_2','Linearized x_1','Linearized x_2');
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 26/29
Linear System Theory Page 25
Appendix B Matlab code for Problem 1 Part 5
function dx = xdiff(t,x) % nonlinear system u = 0; dx = zeros(2,1); dx(1) = x(2) - 2*x(1)*x(2); dx(2) = -x(1) + x(1)^2 + x(2)^2 + u; end
ODE function for perturbation
function ddx = dxdiff(dt,dx) % delta_x_diff = A*delta_x + B*delta_u; du = 0.01*sin(dt); ddx = zeros(2,1); ddx(1) = -dx(2); ddx(2) = dx(1) + du; end
m-file code
clc; clear all; close all; to = 0; tspan = 0.1; tfinal = 20; n = (tfinal - to)/tspan + 1;
% non-linear system xq = [1; 0]; [t,x] = ode45(@xdiff,to:tspan:tfinal,xq);
% perturbation dx0 = [0; 0]; [dt,dx] = ode45(@dxdiff,to:tspan:tfinal,dx0);
% linearized system x_linearized = zeros(n,2); x_linearized(:,1) = dx(:,1) + xq(1); x_linearized(:,2) = dx(:,2) + xq(2);
plot(t,x,dt,x_linearized); grid on; xlabel('Time, sec'); ylabel('States');
legend('x_1','x_2','Linearized x_1','Linearized x_2');
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 27/29
Linear System Theory Page 26
Appendix C Matlab code for Problem 2 Part 2
close all; clear all; clc;
A = [-1 1; 0 -1]; B = [0;1]; x0 = [1; 1];
xf = [1; 1]; t0 = 0; tf = 10; syms t t1 s; Phitft = expm(A*(tf - t)); Phitft0 = expm(A*(tf - t0)); W = int(expm(A*s)*(B*B')*expm(A'*s),t0,tf - t0); u = B'*Phitft'*W^(-1)*(xf - Phitft0*x0); xt = expm(A*(t1 - t0))*x0 + int(expm(A*(t1 - t))*B*u,t0,t1);
t1 = 0:0.01:15; t = 0:0.01:15; ut = subs(u); x1 = subs(xt(1)); x2 = subs(xt(2));
subplot(211); plot(t,ut); title('Input ut'); xlabel('Time, (sec)'); ylabel('ut'); grid on; subplot(212); plot(t1,x1,t1,x2); title('State responses'); xlabel('Time, (sec)'); ylabel('States'); grid on; legend('x_1','x_2');
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 28/29
Linear System Theory Page 27
Appendix D Matlab code for Problem 2 Part 3
close all; clear all; clc;
A = [-1 1; 0 -1]; B = [0;1]; x0 = [1; 1];
xf = [1; 1]; t0 = 0; tf = 1; syms t t1 s; Phitft = expm(A*(tf - t)); Phitft0 = expm(A*(tf - t0)); W = int(expm(A*s)*(B*B')*expm(A'*s),t0,tf - t0); u = B'*Phitft'*W^(-1)*(xf - Phitft0*x0); xt = expm(A*(t1 - t0))*x0 + int(expm(A*(t1 - t))*B*u,t0,t1);
t1 = 0:0.01:15; t = 0:0.01:15; ut = subs(u); x1 = subs(xt(1)); x2 = subs(xt(2));
subplot(211); plot(t,ut); title('Input ut'); xlabel('Time, (sec)'); ylabel('ut'); grid on; subplot(212); plot(t1,x1,t1,x2); title('State responses'); xlabel('Time, (sec)'); ylabel('States'); grid on; legend('x_1','x_2');
7/29/2019 Linear system theory: linearization
http://slidepdf.com/reader/full/linear-system-theory-linearization 29/29
Appendix E Matlab code for Problem 2 Part 4
close all; clear all; clc;
A = [-1 1; 0 -1];B = [0;1];
x0 = [1; 1]; xf = [1; 1]; t0 = 0; t1 = 5; tf = 10; syms t s; P1 = int(expm(A*(tf-s))*B,s,t0,t1); P2 = int(expm(A*(tf-s))*B,s,t1,tf); P = [P1 P2]; Q = xf - expm(A*(tf - t0))*x0; u = P^(-1)*Q; xt1 = expm(A*t)*x0 + int(expm(A*(t-s))*B*u(1),s,t0,t); % t = t0 ~ t1 xt2 = expm(A*t)*x0 + int(expm(A*(t-s))*B*u(1),s,t0,t1) + ...
int(expm(A*(t-s))*B*u(2),s,t1,t); %t = t1 ~ tf t = t0:0.01:t1; xt1 = subs(xt1); t = (t1 + 0.01):0.01:tf; xt2 = subs(xt2); xt11 = [xt1(1,:) xt2(1,:)]; xt22 = [xt1(2,:) xt2(2,:)]; t = t0:0.01:tf; u1 = subs(u(1)*ones(1,501)); u2 = subs(u(2)*ones(1,500)); subplot(211); plot(t(1:501),u1,t(502:1001),u2); title('Input ut'); xlabel('Time, (sec)'); ylabel('ut'); grid on; subplot(212); plot(t,xt11,t,xt22); title('State responses');
xlabel('Time, (sec)'); ylabel('States'); grid on; legend('x_1','x_2');