diff options
Diffstat (limited to 'js/Linear/DLR.js')
-rw-r--r-- | js/Linear/DLR.js | 102 |
1 files changed, 51 insertions, 51 deletions
diff --git a/js/Linear/DLR.js b/js/Linear/DLR.js index 8f0cc456..c39494a5 100644 --- a/js/Linear/DLR.js +++ b/js/Linear/DLR.js @@ -1,72 +1,72 @@ /* autogenerated from "macros/Linear/DLR.sci" */ 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); + 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)); -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) { + x = arg1; + graphics = arg1.graphics; + exprs = graphics.exprs; + model = arg1.model; + x0 = model.dstate; + ns = prod(size(x0)); + 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)>degree(den)) { + if (degree(num)>degree(den)) { message("Transfer function must be proper"); -ok=false; + ok = false; } -if (ok) { -H=cont_frm(num,den); -[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; + if (ok) { + H = cont_frm(num,den); + [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]; + 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; + if (or(model.dep_ut!=mmm)) { + model.dep_ut = mmm; } -x.graphics=graphics; -x.model=model; + x.graphics = graphics; + x.model = model; break; } } -x.model.firing=[]; + x.model.firing = []; } } |