summaryrefslogtreecommitdiff
path: root/js/Linear/CLSS.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/Linear/CLSS.js')
-rw-r--r--js/Linear/CLSS.js88
1 files changed, 86 insertions, 2 deletions
diff --git a/js/Linear/CLSS.js b/js/Linear/CLSS.js
index b0a3467d..1435350a 100644
--- a/js/Linear/CLSS.js
+++ b/js/Linear/CLSS.js
@@ -1,3 +1,87 @@
-Syntax error in input LexToken(COLON,':',1,1076)
/* autogenerated from "macros/Linear/CLSS.sci" */
-None
+function CLSS() {
+CLSS.prototype.get = function CLSS() {
+}
+CLSS.prototype.set = function CLSS() {
+x=arg1;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+if (size(exprs,"*")==7) {
+exprs=exprs([1:4,7]);
+}
+model=arg1.model;
+while (true) {
+[ok,A,B,C,D,x0,exprs]=scicos_getvalue("Set continuous linear system parameters",["A matrix","B matrix","C matrix","D matrix","Initial state"],list("mat",[-1,-1],"mat",["size(%1,2)","-1"],"mat",["-1","size(%1,2)"],"mat",[-1,-1],"vec","size(%1,2)"),exprs);
+if (!ok) {
+break
+}
+out=size(C,1);
+if (out==0) {
+out=[];
+}
+in1=size(B,2);
+if (in1==0) {
+in1=[];
+}
+[ms,ns]=size(A);
+okD=true;
+if (size(D,"*")!=size(C,1)*size(B,2)) {
+if (size(D,"*")==1) {
+D=D*ones(C*B);
+} else if (size(D,"*")==0) {
+D=zeros(C*B);
+} else {
+okD=None;
+}
+}
+if (ms!=ns||!okD) {
+message(_("Matrix A is not square or D has wrong dimension"));
+} else {
+[model,graphics,ok]=check_io(model,graphics,in1,out,[],[]);
+if (ok) {
+graphics.exprs=exprs;
+rpar=[A.slice(),B.slice(),C.slice(),D.slice()];
+if (D!=[]) {
+if (norm(D,1)!=0) {
+mmm=[true,true];
+} else {
+mmm=[None,true];
+}
+if (or(model.dep_ut!=mmm)) {
+model.dep_ut=mmm;
+}
+} else {
+model.dep_ut=[None,true];
+}
+model.state=x0.slice();
+model.rpar=rpar;
+x.graphics=graphics;
+x.model=model;
+break
+}
+}
+}
+}
+CLSS.prototype.define = function CLSS() {
+x0=0;
+A=-1;
+B=1;
+C=1;
+D=0;
+in1=1;
+out=1;
+model=scicos_model();
+model.sim=list("csslti4",4);
+model.in1=in1;
+model.out=out;
+model.state=x0;
+model.rpar=[A.slice(),B.slice(),C.slice(),D.slice()];
+model.blocktype="c";
+model.dep_ut=[None,true];
+exprs=[strcat(sci2exp(A)),strcat(sci2exp(B)),strcat(sci2exp(C)),strcat(sci2exp(D)),strcat(sci2exp(x0))];
+gr_i=[];
+x=standard_define([4,2],model,exprs,gr_i);
+}
+CLSS.prototype.details = function CLSS() {
+}
+}