comparison scripts/control/sysdimensions.m @ 3240:2e74d8aa1a20

[project @ 1999-04-07 18:33:23 by jwe]
author jwe
date Wed, 07 Apr 1999 18:34:20 +0000
parents dbcc24961c44
children 6dd06d525de6
comparison
equal deleted inserted replaced
3239:d54ef0aa6e82 3240:2e74d8aa1a20
22 # inputs: sys: system data structure 22 # inputs: sys: system data structure
23 # opt: string 23 # opt: string
24 # "all" (default): return all output arguments (see below) 24 # "all" (default): return all output arguments (see below)
25 # "cst": return n=number of continuous states 25 # "cst": return n=number of continuous states
26 # "dst": return n=number of discrete states 26 # "dst": return n=number of discrete states
27 # "st": return n=number of states (continuous and discrete)
27 # "in": return n=number of inputs 28 # "in": return n=number of inputs
28 # "out": return n = number of outputs 29 # "out": return n=number of outputs
29 # outputs: 30 # outputs:
30 # n: number of continuous states (or the specified dimension as shown above) 31 # n: number of continuous states (or the specified dimension as shown above)
31 # nz: number of discrete states 32 # nz: number of discrete states
32 # m: number of system inputs 33 # m: number of system inputs
33 # p: number of system outputs 34 # p: number of system outputs
47 n = sys.n; 48 n = sys.n;
48 nz = sys.nz; 49 nz = sys.nz;
49 m = length(sysgetsignals(sys,"in")); 50 m = length(sysgetsignals(sys,"in"));
50 p = length(sysgetsignals(sys,"out")); 51 p = length(sysgetsignals(sys,"out"));
51 yd = sys.yd; 52 yd = sys.yd;
52 legal_options = list("all","cst","dst","in","out"); 53 legal_options = list("all","cst","dst","st","in","out");
53 legal_values = list(n,n,nz,m,p); 54 legal_values = list(n,n,nz,n+nz,m,p);
54 55
56 legal_opt = 0;
55 for ii=1:length(legal_options) 57 for ii=1:length(legal_options)
56 if(strcmp(nth(legal_options,ii),opt)) 58 if(strcmp(nth(legal_options,ii),opt))
57 n = nth(legal_values,ii); 59 n = nth(legal_values,ii);
60 legal_opt = 1;
58 if(ii > 1 & nargout > 1) 61 if(ii > 1 & nargout > 1)
59 warning("opt=%s, %d output arguments requested",opt,nargout); 62 warning("opt=%s, %d output arguments requested",opt,nargout);
60 endif 63 endif
61 endif 64 endif
62 endfor 65 endfor
66 if(!legal_opt)
67 error("illegal option passed = %s",opt);
68 endif
63 69
64 endfunction 70 endfunction