Mercurial > hg > octave-lyh
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) |