diff options
Diffstat (limited to 'js/Linear/TCLSS_f.js')
-rw-r--r-- | js/Linear/TCLSS_f.js | 99 |
1 files changed, 50 insertions, 49 deletions
diff --git a/js/Linear/TCLSS_f.js b/js/Linear/TCLSS_f.js index 9d43d97e..fd5483b1 100644 --- a/js/Linear/TCLSS_f.js +++ b/js/Linear/TCLSS_f.js @@ -20,65 +20,66 @@ function TCLSS_f() { model.dep_ut = [false,true]; exprs = [[strcat(sci2exp(A))],[strcat(sci2exp(B))],[strcat(sci2exp(C))],[strcat(sci2exp(D))],[strcat(sci2exp(x0))]]; gr_i = []; - x = standard_define([3,2],model,exprs,gr_i); + this.x = standard_define([3,2],model,exprs,gr_i); } TCLSS_f.prototype.details = function TCLSS_f() { + return this.x; } TCLSS_f.prototype.get = function TCLSS_f() { } TCLSS_f.prototype.set = function TCLSS_f() { - x = arg1; + this.x = arg1; graphics = arg1.graphics; exprs = graphics.exprs; model = arg1.model; if (size(exprs,"*")==7) { - exprs = exprs[[1:4,7]-1]; -} + exprs = exprs[[1:4,7]-1]; + } 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); - if (ms!=ns) { -message("A matrix must be square"); - } else { - [model,graphics,ok] = check_io(model,graphics,[[in1],[ms]],out,1,[]); - 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 = [false,true]; -} - if (or(model.dep_ut!=mmm)) { - model.dep_ut = mmm; -} - } else { - model.dep_ut = [false,true]; -} - model.state = x0.slice(); - model.rpar = rpar; - if (D!=[]) { - model.sim = list("tcslti",1); - } else { - model.sim = list("tcsltj",1); -} - x.graphics = graphics; - x.model = model; -break; -} -} -} + [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); + if (ms!=ns) { + message("A matrix must be square"); + } else { + [model,graphics,ok] = check_io(model,graphics,[[in1],[ms]],out,1,[]); + 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 = [false,true]; + } + if (or(model.dep_ut!=mmm)) { + model.dep_ut = mmm; + } + } else { + model.dep_ut = [false,true]; + } + model.state = x0.slice(); + model.rpar = rpar; + if (D!=[]) { + model.sim = list("tcslti",1); + } else { + model.sim = list("tcsltj",1); + } + this.x.graphics = graphics; + this.x.model = model; + break; + } + } + } } } |