How to use lsim() function for solving and plotting Initial Value Response

I am wondering how I can use the lsim() function to solve and plot the Initial Value Response solution to a state space representation problem.
Code:
clear all close all clc
t = [0:0.01:10] x0 = [1;-1] [t,y] = lsim(@sysP1,u,t,x0)
Function:
function dx = sysP1(t, x) A = [0 1; -5 -2]; B = [0;1]; K = [-1 1]; u = K*x; dx = A*x + B*u; end

 Accepted Answer

To use lsim, you would have to configure your system with state feedback using the feedback (link) function or more appropriately, the reg (link) or related functions (linked to in that page).
You can easily use the code for your system as it exists with ode45:
function dx = sysP1(t, x)
A = [0 1; -5 -2]; B = [0;1]; K = [-1 1];
u = K*x;
dx = A*x + B*u;
end
t = [0:0.01:10]
x0 = [1;-1]
[t,y] = ode45(@sysP1,t,x0);
figure(1)
plot(t, y)
grid

4 Comments

Thank you for your help, however my task is to make use of the lsim function. I deleted my sysP1 code and now have a sys = ss(A,B,C,D) representation.
My pleasure.
You then need to use reg (or one of its friends) to produce your system with state feedback. Since this is apparently a homework problem, I’ll leave that for you to sort. (It’s fairly straightforward.)

Sign in to comment.

More Answers (0)

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!