diff scripts/control/system/sysdup.m @ 3462:04aef7306dca

[project @ 2000-01-19 17:16:43 by hodelas] Updated to accept signal names or signal indices as inputs (calls to either sysidx or listidx)
author hodelas
date Wed, 19 Jan 2000 17:16:45 +0000
parents 3234a698073a
children 7923abdeb4e5
line wrap: on
line diff
--- a/scripts/control/system/sysdup.m
+++ b/scripts/control/system/sysdup.m
@@ -26,7 +26,7 @@
 ## system data structure
 ## @item out_idx
 ## @itemx in_idx
-## list of connections indices;
+## indices or names of desired signals (see @code{sigidx}).
 ## duplicates are made of @code{y(out_idx(ii))} and @code{u(in_idx(ii))}.
 ## @end table
 ##
@@ -69,6 +69,14 @@
   [nn,nz,mm,pp] = sysdimensions(Asys);
   [aa,bb,cc,dd] = sys2ss(Asys);
 
+  ## check for signal names
+  if(is_signal_list(input_list) | isstr(input_list))
+    input_list = sysidx(Asys,"in",input_list);
+  endif
+  if(is_signal_list(output_list) | isstr(output_list))
+    output_list = sysidx(Asys,"out",output_list);
+  endif
+
   ## first duplicate inputs
   if(is_vector(input_list))
     for ii=1:length(input_list);