MATLAB Answers

0

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 https://www.mathworks.com/help/control/ug/time-delays-in-linear-systems.html
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 .
Thanks

로그인 to comment.



Translated by