Using expm of matlab to plot state responses

Click For Summary
SUMMARY

The discussion focuses on using the MATLAB function expm to plot the zero input response of a nonlinear state space model linearized at the equilibrium point (-15, 5) with initial conditions (-14.5, 5). The state equations are defined as x'_1(t) = 2x^2_2(t) - 50 and x'_2(t) = -x_1(t) - 3x_2(t) + u(t). The correct approach to generate the response is through the initial function in MATLAB, while expm is highlighted for its analytical utility in solving linear systems of ordinary differential equations (ODEs).

PREREQUISITES
  • Understanding of state space modeling in control systems
  • Familiarity with MATLAB programming, specifically the expm and initial functions
  • Knowledge of linearization techniques for nonlinear systems
  • Basic concepts of matrix exponentials and their applications in ODEs
NEXT STEPS
  • Explore MATLAB's expm function and its applications in solving linear systems
  • Learn about state space representation and its significance in control theory
  • Study the initial function in MATLAB for generating system responses
  • Investigate the theory behind matrix exponentials and their role in solving ODEs
USEFUL FOR

Control engineers, MATLAB users, and students studying state space analysis and nonlinear systems who seek to deepen their understanding of system responses and analytical methods in control theory.

shuh
Messages
9
Reaction score
0

Homework Statement


The state space model of a nonlinear system is x'_1(t) = 2x^2_2(t) - 50 x'_2(t) = -x_1(t) - 3x_2(t) + u(t) where x_1(t) and x_2(t) are the states, and u(t) is the input. The output of the system is x_2(t).

Find the zero input response (u(t) = 0) of this system linearized at the equilibrium point (-15, 5) with initial states (-14.5, 5). Use Matlab (expm.m) to plot these state responses from 0 to 5s.

Homework Equations



State Space Modeling, Matlab

The Attempt at a Solution



The bold part is where I have an issue with this problem. Generally, if you want to find response to initial conditions, you use initial function, not expm. Expm simply takes a matrix and exponentiates it.

Anyways, MATLAB code for generating response to initial condition is:

//State Matrix
A = [ 0 20 ; -1 -3]
B = [0 ; 1]
C = [0 1]
D = 0
x0 = [ -14.5 ; 5]

sys = ss(A,B,C,d)
initial(sys, x0)

And you get a beautiful plot looking like the following:

image.png


How, and especially why on Earth would you use expm function to generate such plot?
 
Physics news on Phys.org
Do you know what a matrix exponential is, and how it can be used to solve a system of linear, constant coefficient first order equations? If not, then either look in your textbook or google it. Even the Wikipedia page on the matrix exponential has some applications that should help here.

Why would you do this? Because it will give you an idea of one way to solve such a system of ODEs analytically. Numerically, I do not know what the 'initial' command in MATLAB does (might just numerically integrate the equations - probably doesn't do the matrix exponential). I would think that anyone who learns about state space analysis should learn about matrix exponentials at some point. Perhaps that is the real reason 'why' you would do this - so you learn more than just how to use a few Matlab commands.

enjoy,

jason
 

Similar threads

Replies
3
Views
4K
  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
4K