MATLAB Answers


system with time delay

Chokri Sendi 님이 질문을 제출함. 20 Sep 2019
I would like to know if there is a command in Matlab to extract matrices of system with time delay, I have a nominal system :
x_dot = A(t)*x(t)+B(t)*u(t)
I would like to simulate the system with time delay t_x and t_u as :
x_dot = A(t)*x(t)+B(t)*u(t) + A_d*x(t-t_x)+B_d(t)*u(t-t_u)
then extract the matrices A_d(t), B_d(t) to use them to design a controller.
your help is appreciated.

  댓글 수: 0

로그인 to comment.

답변 수: 1

thoughtGarden 님의 답변 20 Sep 2019
thoughtGarden 님이 편집함. 20 Sep 2019

This answer has been updated to better match the OP.
doc ss %search for "InternalDelay" and "OutputDelay"
% Define Delays
t_x = 0.005;
t_u = 0.001;
% Fill in your system matrix here
A = [1,0; 0, 1];
B = [0; 0.5];
C = [1, 0];
D = 0;
% Create the no delay system
sys =ss(A,B,C,D,'InputDelay',t_x,'OutputDelay',t_u);

  댓글 수: 4

표시 이전 댓글 수: 1
I just updated the answer showing more clearly the input and output delay. You might also be interested in
If you found this answer to be correct, please accept it. Otherwise, please add aditional comments so that it may be improved.
Thank you for your reply, I still dont see how I can use
" sys =ss(A,B,C,D,'InputDelay',t_x,'OutputDelay',t_u),
to write the system as:
x_dot = A(t)*x(t)+B(t)*u(t) + A_d*x(t-t_x)+B_d(t)*u(t-t_u)
in other word since A and B are known how I can find A_d and B_d from "sys" that I just created .

로그인 to comment.

Translated by