summaryrefslogtreecommitdiff
path: root/js/Linear/DLR.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/Linear/DLR.js')
-rw-r--r--js/Linear/DLR.js73
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=[];
+ }
+}