comparison scripts/control/system/sysprune.m @ 4030:22bd65326ec1

[project @ 2002-08-09 18:58:13 by jwe]
author jwe
date Fri, 09 Aug 2002 19:00:16 +0000
parents b5238ac1dca9
children b8105302cfe8
comparison
equal deleted inserted replaced
4029:2cc57b6169cf 4030:22bd65326ec1
76 if(is_signal_list(input_idx) | isstr(input_idx)) 76 if(is_signal_list(input_idx) | isstr(input_idx))
77 input_idx = sysidx(sys,"in",input_idx); 77 input_idx = sysidx(sys,"in",input_idx);
78 endif 78 endif
79 79
80 ## check dimensions 80 ## check dimensions
81 if( !(is_vector(output_idx) | isempty(output_idx) ) ) 81 if( !(isvector(output_idx) | isempty(output_idx) ) )
82 if(!is_matrix(output_idx)) 82 if(!ismatrix(output_idx))
83 error("sysprune: bad argument passed for output_idx"); 83 error("sysprune: bad argument passed for output_idx");
84 else 84 else
85 error("sysprune: output_idx (%d x %d) must be a vector or empty", ... 85 error("sysprune: output_idx (%d x %d) must be a vector or empty", ...
86 rows(output_idx),columns(output_idx)); 86 rows(output_idx),columns(output_idx));
87 endif 87 endif
88 elseif(is_duplicate_entry(output_idx)) 88 elseif(is_duplicate_entry(output_idx))
89 error("sysprune: duplicate entries found in output_idx"); 89 error("sysprune: duplicate entries found in output_idx");
90 endif 90 endif
91 91
92 if( !(is_vector(input_idx) | isempty(input_idx) ) ) 92 if( !(isvector(input_idx) | isempty(input_idx) ) )
93 if(!is_matrix(input_idx)) 93 if(!ismatrix(input_idx))
94 error("sysprune: bad argument passed for input_idx"); 94 error("sysprune: bad argument passed for input_idx");
95 else 95 else
96 error("sysprune: input_idx (%d x %d) must be a vector or empty", ... 96 error("sysprune: input_idx (%d x %d) must be a vector or empty", ...
97 rows(input_idx),columns(input_idx)); 97 rows(input_idx),columns(input_idx));
98 endif 98 endif
99 elseif(is_duplicate_entry(input_idx)) 99 elseif(is_duplicate_entry(input_idx))
100 error("sysprune: duplicate entries found in input_idx"); 100 error("sysprune: duplicate entries found in input_idx");
101 endif 101 endif
102 102
103 if( !(is_vector(state_idx) | isempty(state_idx) ) ) 103 if( !(isvector(state_idx) | isempty(state_idx) ) )
104 if(!is_matrix(state_idx)) 104 if(!ismatrix(state_idx))
105 error("sysprune: bad argument passed for state_idx"); 105 error("sysprune: bad argument passed for state_idx");
106 else 106 else
107 error("sysprune: state_idx (%d x %d) must be a vector or empty", ... 107 error("sysprune: state_idx (%d x %d) must be a vector or empty", ...
108 rows(state_idx),columns(state_idx)); 108 rows(state_idx),columns(state_idx));
109 endif 109 endif
115 115
116 lo = length(output_idx); 116 lo = length(output_idx);
117 li = length(input_idx); 117 li = length(input_idx);
118 lst = length(state_idx); 118 lst = length(state_idx);
119 119
120 if( !is_struct(sys)) 120 if( !isstruct(sys))
121 error("Asys must be a system data structure (see ss2sys, tf2sys, or zp2sys)") 121 error("Asys must be a system data structure (see ss2sys, tf2sys, or zp2sys)")
122 elseif(pp < lo) 122 elseif(pp < lo)
123 error([num2str(lo)," output_idx entries, system has only ", ... 123 error([num2str(lo)," output_idx entries, system has only ", ...
124 num2str(pp)," outputs"]); 124 num2str(pp)," outputs"]);
125 elseif(mm < li) 125 elseif(mm < li)