No BSD License  

Highlights from
Control of Spacecraft and Aircraft

[y,y1,u]=stepcmd(F,G,H,L,C,yc,H1,L1,t) % Table E.1
 function [y,y1,u]=stepcmd(F,G,H,L,C,yc,H1,L1,t)              % Table E.1
 % Function to generate responses to step command y=yc at points defined
 % by vector t; dx/dt=Fx+Gu, y=Hx+Lu, u=-C*x; dim(u)=dim(y); y1=H1*x+L1*u.
 %
 [ns,nc]=size(G); G1=zeros(ns,1); Xas=[F,G;H,L]\[G1;yc]; Xs=Xas([1:ns]);
 Us=Xas([ns+1:ns+nc]); X0=-Xs; y1s=H1*Xs+L1*Us; H=[H; H1];L=[L; L1];
 [n1,ns]=size(H1); H2=[H-L*C;-C]; L2=zeros(2*nc+n1,1); T=length(t);
 U1=zeros(T,1); Y=lsim(F-G*C,G1,H2,L2,U1,t,X0);
 y=Y(:,[1:nc])+ones(T,1)*yc';  y1=Y(:,[nc+1:nc+n1])+ones(T,1)*y1s';
 u=Y(:,[nc+n1+1:2*nc+n1])+ones(T,1)*Us';
   

Contact us at files@mathworks.com