/* autogenerated from "macros/Linear/CLR.sci" */ function CLR() { CLR.prototype.define = function CLR() { x0=0; A=-1; B=1; C=1; D=0; exprs=[["1"],["1+s"]]; model=scicos_model(); model.sim=list("csslti4",4); model.in1=1; model.out=1; model.state=x0; model.rpar=[[A.slice()],[B.slice()],[C.slice()],[D.slice()]]; model.blocktype="c"; model.dep_ut=[false,true]; gr_i=[]; x=standard_define([3,2],model,exprs,gr_i); } CLR.prototype.details = function CLR() { } CLR.prototype.get = function CLR() { } CLR.prototype.set = function CLR() { x=arg1; graphics=arg1.graphics; exprs=graphics.exprs; model=arg1.model; x0=model.state; rpar=model.rpar; ns=prod[size(x0)-1]; nin=1; nout=1; PREVAR_scicos_context=PREVAR_scicos_context; PREVAR_scicos_context.s=%s; while (true) { [ok,num,den,exprs]=scicos_getvalue("Set continuous SISO transfer parameters",[["Numerator (s)"],["Denominator (s)"]],list("pol",1,"pol",1),exprs); if (!ok) { break; } if (degree[num-1]>degree[den-1]) { message("Transfer function must be proper or strictly proper."); ok=false; } if (ok) { H=cont_frm[num-1][den-1]; [A,B,C,D]=H.slice(2-1,5); graphics.exprs=exprs; [ns1,ns1]=size(A); rpar=[[matrix(A,ns1*ns1,1)],[matrix(B,ns1,1)],[matrix(C,ns1,1)],[D]]; if (norm(D,1)!=0) { mmm=[true,true]; } else { mmm=[false,true]; } if (or(model.dep_ut!=mmm)) { model.dep_ut=mmm; } if (ns1<=ns) { x0=x0.slice(1-1,ns1); } else { x0[ns1-1][1-1]=0; } model.state=x0; model.rpar=rpar; x.graphics=graphics; x.model=model; break; } } } }