[Scilab-users] SS modeling using Identification tool box

noguchi noguchi at kje.biglobe.ne.jp
Tue Mar 15 15:58:21 CET 2016


I could get ARX model using the data generated by first order delay + dead
time transfer function model as shown below:

//ARX model ID 
z=poly(0,'z');
h=(0.066/(z-0.934))*(1/z^10)
u=zeros(1,200);
for i=10:1:100
    u(1,i)=1;
end
for i=101:1:200
    u(1,i)=0.5;
end
t=1:1:200;
y=flts(u,tf2ss(h));     //step response
plot(t,y,t,u)
//
figure(2)
[m] = arIdent(y,u,y,u,1:4,1:4,0,0:10,0);
//[fit, ys] = valSim(m.a, m.b, yv, uv);
[fit, ys] = valSim(m.a, m.b, y, u);
plot(y);

Howeverm using same data, I faced error message if I tried to get SS model
with following commnds:
//SS Model ID
yi=y(1:90);ui=u(1:90);
yv=y(91:$);uv=u(91:$);
yv=y;uv=u;
[m,A,B,C,D,K,R,x0,fit,fitTable] =
subspaceIdent(yi,ui,yv,uv,[6:8],[2:4],0,0);
[yp x] = lsim(A-K*C,[K B-K*D],C,[zeros(size(D,1),size(yv,2))
D],[yv';uv'],x0); // prediction
plot(yv);
plot(yp,'-r')
[Ds,NUM,chi]=ss2tf(m)

 subspaceIdent(yi,ui,yv,uv,[6:8],[2:4],0,0); <== This command made following
error messages:

-->[m,A,B,C,D,K,R,x0,fit,fitTable] =
subspaceIdent(yi,ui,yv,uv,[6:8],[2:4],0,0);
 !--error 27 
zero division...
at line      13 of function myhouseholder called by :  
at line       9 of function qrhouse called by :  
at line     191 of function subid called by :  
at line      89 of function subspaceIdent called by :  
i,yv,uv,[6:8],[2:4],0,0)

May I ask how I can identify the SS model using this quite simple data set?


Y. Noguchi



--
View this message in context: http://mailinglists.scilab.org/SS-modeling-using-Identification-tool-box-tp4033740.html
Sent from the Scilab users - Mailing Lists Archives mailing list archive at Nabble.com.



More information about the users mailing list