/* autogenerated from "macros/NonLinear/DLRADAPT_f.sci" */ function DLRADAPT_f() { DLRADAPT_f.prototype.define = function DLRADAPT_f() { p=[0,1]; rn=[]; rd=[math.complex(0.2,0.8),math.complex(0.2,-0.8),math.complex(0.3,0.7),math.complex(0.3,-0.7)]; g=[1,1]; last_u=[]; last_y=[0,0]; model=scicos_model(); model.sim="dlradp"; model.in1=[1,1]; model.out=1; model.evtin=1; model.dstate=[last_u,last_y]; model.rpar=[p.slice(),real(rn.slice()),imag(rn.slice()),real(rd.slice()),imag(rd.slice()),g.slice()]; model.ipar=[0,2,2]; model.blocktype="d"; model.firing=[]; model.dep_ut=[true,false]; exprs=[sci2exp(p),sci2exp(rn),sci2exp(rd,0),sci2exp(g),sci2exp(last_u),sci2exp(last_y)]; gr_i=[]; x=standard_define([2,2],model,exprs,gr_i); } DLRADAPT_f.prototype.details = function DLRADAPT_f() { } DLRADAPT_f.prototype.get = function DLRADAPT_f() { } DLRADAPT_f.prototype.set = function DLRADAPT_f() { x=arg1; graphics=arg1.graphics; exprs=graphics.exprs; model=arg1.model; while (true) { [ok,p,rn,rd,g,last_u,last_y,exprs]=scicos_getvalue("Set block parameters",["Vector of p mesh points","Numerator roots (one line for each mesh)","Denominator roots (one line for each mesh)","Vector of gain at mesh points","past inputs (Num degree values)","past outputs (Den degree values)"],list("vec",-1,"mat",[-1,-1],"mat",["size(%1,\'*\')","-1"],"vec","size(%1,\'*\')","vec","size(%2,2)","vec","size(%3,2)"),exprs); if (!ok) { break; } m=size(rn,2); [npt,n]=size(rd); if (m>=n) { message("Transfer must be strictly proper"); } else if (size(rn,1)!=0&&size(rn,1)!=size(p,"*")) { message("Numerator roots matrix row size\'s is incorrect"); } else { rpar=[p.slice(),real(rn.slice()),imag(rn.slice()),real(rd.slice()),imag(rd.slice()),g.slice()]; ipar=[m,n,npt]; model.dstate=[last_u.slice(),last_y.slice()]; model.rpar=rpar; model.ipar=ipar; graphics.exprs=exprs; x.graphics=graphics; x.model=model; break; } } } }