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

 채택된 답변

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

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.)
As always, my pleasure!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Mathematics에 대해 자세히 알아보기

질문:

2017년 10월 2일

댓글:

2017년 10월 2일

Community Treasure Hunt

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

Start Hunting!

Translated by