diff options
Diffstat (limited to 'js/Linear/DLR.js')
-rw-r--r-- | js/Linear/DLR.js | 73 |
1 files changed, 71 insertions, 2 deletions
diff --git a/js/Linear/DLR.js b/js/Linear/DLR.js index 61f8ec2c..dbbe1b83 100644 --- a/js/Linear/DLR.js +++ b/js/Linear/DLR.js @@ -1,3 +1,72 @@ -Syntax error in input LexToken(ASSIGNMENT,'=',1,1937) /* autogenerated from "macros/Linear/DLR.sci" */ -None +function DLR() { + DLR.prototype.define = function DLR() { +x0=0; +A=-1; +B=1; +C=1; +D=0; +exprs=[["1"],["1+z"]]; +model=scicos_model(); +model.sim=list("dsslti4",4); +model.in1=1; +model.out=1; +model.evtin=1; +model.dstate=x0.slice(); +model.rpar=[[A.slice()],[B.slice()],[C.slice()],[D.slice()]]; +model.blocktype="d"; +model.dep_ut=[false,false]; +gr_i=[]; +x=standard_define([3,2],model,exprs,gr_i); + } + DLR.prototype.details = function DLR() { + } + DLR.prototype.get = function DLR() { + } + DLR.prototype.set = function DLR() { +x=arg1; +graphics=arg1.graphics; +exprs=graphics.exprs; +model=arg1.model; +x0=model.dstate; +ns=prod[size(x0)-1]; +PREVAR_scicos_context=PREVAR_scicos_context; +PREVAR_scicos_context.z=%z; +while (true) { +[ok,num,den,exprs]=scicos_getvalue("Set discrete SISO transfer parameters",[["Numerator (z)"],["Denominator (z)"]],list("pol",1,"pol",1),exprs); +if (!ok) { +break; +} +if (degree[num-1]>degree[den-1]) { +message("Transfer function must be 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); +if (ns1<=ns) { +x0=x0.slice(1-1,ns1); +} else { +x0[ns1-1][1-1]=0; +} +rpar=[[A.slice()],[B.slice()],[C.slice()],[D.slice()]]; +model.dstate=x0; +model.rpar=rpar; +if (norm(D,1)!=0) { +mmm=[true,false]; +} else { +mmm=[false,false]; +} +if (or(model.dep_ut!=mmm)) { +model.dep_ut=mmm; +} +x.graphics=graphics; +x.model=model; +break; +} +} +x.model.firing=[]; + } +} |