Main Content

delayss

Create state-space models with delayed inputs, outputs, and states

Syntax

sys=delayss(A,B,C,D,delayterms)
sys=delayss(A,B,C,D,ts,delayterms)

Description

sys=delayss(A,B,C,D,delayterms)constructs a continuous-time state-space model of the form:

dxdt=Ax(t)+Bu(t)+j=1N(Ajx(ttj)+Bju(ttj))y(t)=Cx(t)+Du(t)+j=1N(Cjx(ttj)+Dju(ttj))

where tj, j=1,..,N are time delays expressed in seconds. delayterms is a struct array with fields delay, a, b, c, d where the fields of delayterms(j) contain the values of tj, Aj, Bj, Cj, and Dj, respectively. The resulting model sys is a state-space (SS) model with internal delays.

sys=delayss(A,B,C,D,ts,delayterms)constructs the discrete-time counterpart:

x[k+1]=Ax[k]+Bu[k]+j=1N{Ajx[knj]+Bju[knj]}y[k]=Cx[k]+Du[k]+j=1N{Cjx[knj]+Dju[knj]}

where Nj, j=1,..,N are time delays expressed as integer multiples of the sample time ts.

Examples

To create the model:

dxdt=x(t)x(t1.2)+2u(t0.5)y(t)=x(t0.5)+u(t)

type

DelayT(1) = struct('delay',0.5,'a',0,'b',2,'c',1,'d',0);
DelayT(2) = struct('delay',1.2,'a',-1,'b',0,'c',0,'d',0);
sys = delayss(1,0,0,1,DelayT) 

a = 
       x1
   x1   0
 
b = 
       u1
   x1   2
 
c = 
       x1
   y1   1
 
d = 
       u1
   y1   1
 
(values computed with all internal delays set to zero)

Internal delays: 0.5  0.5  1.2  
 
Continuous-time model.

Version History

Introduced in R2007a

See Also

|