diff scripts/control/system/buildssic.m @ 5016:bdbee5282954

[project @ 2004-09-22 02:50:35 by jwe]
author jwe
date Wed, 22 Sep 2004 02:50:36 +0000
parents b8105302cfe8
children 4c8a2e4e0717
line wrap: on
line diff
--- a/scripts/control/system/buildssic.m	Wed Sep 22 02:18:13 2004 +0000
+++ b/scripts/control/system/buildssic.m	Wed Sep 22 02:50:36 2004 +0000
@@ -20,20 +20,28 @@
 ## @deftypefn {Function File} {} buildssic (@var{clst}, @var{ulst}, @var{olst}, @var{ilst}, @var{s1}, @var{s2}, @var{s3}, @var{s4}, @var{s5}, @var{s6}, @var{s7}, @var{s8})
 ##
 ## Form an arbitrary complex (open or closed loop) system in
-## state-space form from several systems. "@code{buildssic}" can
-## easily (despite it's cryptic syntax) integrate transfer functions
+## state-space form from several systems. @command{buildssic} can
+## easily (despite its cryptic syntax) integrate transfer functions
 ## from a complex block diagram into a single system with one call.
 ## This function is especially useful for building open loop
-## interconnections for H_infinity and H2 designs or for closing
-## loops with these controllers.
+## interconnections for 
+## @iftex
+## @tex
+## $ { \cal H }_\infty $ and $ { \cal H }_2 $
+## @end tex
+## @end iftex
+## @ifinfo
+## H-infinity and H-2
+## @end ifinfo
+## designs or for closing loops with these controllers.
 ##
-## Although this function is general purpose, the use of "@code{sysgroup}"
-## "@code{sysmult}", "@code{sysconnect}" and the like is recommended for
+## Although this function is general purpose, the use of @command{sysgroup}
+## @command{sysmult}, @command{sysconnect} and the like is recommended for
 ## standard operations since they can handle mixed discrete and continuous
 ## systems and also the names of inputs, outputs, and states.
 ##
 ## The parameters consist of 4 lists that describe the connections
-## outputs and inputs and up to 8 systems s1-s8.
+## outputs and inputs and up to 8 systems @var{s1}--@var{s8}.
 ## Format of the lists:
 ## @table @var
 ## @item      clst
@@ -42,27 +50,27 @@
 ## equal to the sum of all inputs of s1-s8.
 ##
 ## Example:
-## @code{[1 2 -1; 2 1 0]} ==> new input 1 is old inpout 1
-## + output 2 - output 1, new input 2 is old input 2
+## @code{[1 2 -1; 2 1 0]} means that:  new input 1 is old input 1
+## + output 2 - output 1, and new input 2 is old input 2
 ## + output 1. The order of rows is arbitrary.
 ##
-## @item     ulst
-## if not empty the old inputs in vector Ulst will
+## @item ulst
+## if not empty the old inputs in vector @var{ulst} will
 ## be appended to the outputs. You need this if you
-## want to "pull out" the input of a system. Elements
-## are input numbers of s1-s8.
+## want to ``pull out'' the input of a system. Elements
+## are input numbers of @var{s1}--@var{s8}.
 ##
-## @item     olst
+## @item olst
 ## output list, specifiy the outputs of the resulting
-## systems. Elements are output numbers of s1-s8.
-## The numbers are alowed to be negative and may
+## systems. Elements are output numbers of @var{s1}--@var{s8}.
+## The numbers are allowed to be negative and may
 ## appear in any order. An empty matrix means
 ## all outputs.
 ##
-## @item     ilst
+## @item ilst
 ## input list, specifiy the inputs of the resulting
-## systems. Elements are input numbers of s1-s8.
-## The numbers are alowed to be negative and may
+## systems. Elements are input numbers of @var{s1}--@var{s8}.
+## The numbers are allowed to be negative and may
 ## appear in any order. An empty matrix means
 ## all inputs.
 ## @end table
@@ -82,20 +90,22 @@
 ## @end group
 ## @end example
 ##
-## The closed loop system GW can be optained by
+## The closed loop system @var{GW} can be optained by
 ## @example
 ## GW = buildssic([1 2; 2 -1], 2, [1 2 3], 2, G, K);
 ## @end example
 ## @table @var
 ## @item clst
-## (1. row) connect input 1 (G) with output 2 (K).
-## (2. row) connect input 2 (K) with neg. output 1 (G).
+## 1st row: connect input 1 (@var{G}) with output 2 (@var{K}).
+##
+## 2nd row: connect input 2 (@var{K}) with negative output 1 (@var{G}).
 ## @item ulst
-## append input of (2) K to the number of outputs.
+## Append input of 2 (@var{K}) to the number of outputs.
 ## @item olst
-## Outputs are output of 1 (G), 2 (K) and appended output 3 (from Ulst).
+## Outputs are output of 1 (@var{G}), 2 (@var{K}) and 
+## appended output 3 (from @var{ulst}).
 ## @item ilst
-## the only input is 2 (K).
+## The only input is 2 (@var{K}).
 ## @end table
 ##
 ## Here is a real example:
@@ -104,8 +114,8 @@
 ##                          +----+
 ##     -------------------->| W1 |---> v1
 ## z   |                    +----+
-## ----|-------------+                   || GW   ||     => min.
-##     |             |                        vz   infty
+## ----|-------------+
+##     |             |
 ##     |    +---+    v      +----+
 ##     *--->| G |--->O--*-->| W2 |---> v2
 ##     |    +---+       |   +----+
@@ -114,14 +124,33 @@
 ##    u                  y
 ## @end group
 ## @end example
+## @iftex
+## @tex
+## $$ { \rm min } \Vert GW_{vz} \Vert _\infty $$  
+## @end tex
+## @end iftex
+## @ifinfo
+## @example
+## min || GW   ||
+##          vz   infty
+## @end example
+## @end ifinfo
 ##
-## The closed loop system GW from [z; u]' to [v1; v2; y]' can be
-## obtained by (all SISO systems):
+## The closed loop system @var{GW} 
+## @iftex
+## @tex
+## from $ [z, u]^T $ to $ [v_1, v_2, y]^T $
+## @end tex
+## @end iftex
+## @ifinfo
+## from [z, u]' to [v1, v2, y]' 
+## @end ifinfo
+## can be obtained by (all @acronym{SISO} systems):
 ## @example
 ## GW = buildssic([1, 4; 2, 4; 3, 1], 3, [2, 3, 5],
 ##                [3, 4], G, W1, W2, One);
 ## @end example
-## where "One" is a unity gain (auxillary) function with order 0.
+## where ``One'' is a unity gain (auxillary) function with order 0.
 ## (e.g. @code{One = ugain(1);})
 ## @end deftypefn