changeset 3398:0f515bc98460

[project @ 1999-12-18 04:21:28 by jwe]
author jwe
date Sat, 18 Dec 1999 04:21:52 +0000
parents 1a8e2c0d627a
children e665633c76af
files scripts/control/DEMOcontrol.m scripts/control/abcddim.m scripts/control/abcddims.m scripts/control/analdemo.m scripts/control/are.m scripts/control/bddemo.m scripts/control/bode.m scripts/control/buildssic.m scripts/control/c2d.m scripts/control/controldemo.m scripts/control/ctrb.m scripts/control/d2c.m scripts/control/damp.m scripts/control/dare.m scripts/control/dcgain.m scripts/control/dezero.m scripts/control/dgkfdemo.m scripts/control/dgram.m scripts/control/dhinfdemo.m scripts/control/dlqe.m scripts/control/dlqg.m scripts/control/dlqr.m scripts/control/dlyap.m scripts/control/dmr2d.m scripts/control/fir2sys.m scripts/control/frdemo.m scripts/control/freqchkw.m scripts/control/freqresp.m scripts/control/gram.m scripts/control/h2norm.m scripts/control/h2syn.m scripts/control/hinf_ctr.m scripts/control/hinfdemo.m scripts/control/hinfsyn.m scripts/control/hinfsyn_chk.m scripts/control/impulse.m scripts/control/is_abcd.m scripts/control/is_controllable.m scripts/control/is_detectable.m scripts/control/is_dgkf.m scripts/control/is_digital.m scripts/control/is_observable.m scripts/control/is_sample.m scripts/control/is_siso.m scripts/control/is_stabilizable.m scripts/control/is_stable.m scripts/control/jet707.m scripts/control/lqe.m scripts/control/lqg.m scripts/control/lqr.m scripts/control/lsim.m scripts/control/ltifr.m scripts/control/lyap.m scripts/control/minfo.m scripts/control/moddemo.m scripts/control/nyquist.m scripts/control/obsv.m scripts/control/ord2.m scripts/control/outlist.m scripts/control/packsys.m scripts/control/parallel.m scripts/control/place.m scripts/control/polyout.m scripts/control/prompt.m scripts/control/qzval.m scripts/control/rldemo.m scripts/control/rlocus.m scripts/control/rotg.m scripts/control/series.m scripts/control/sortcom.m scripts/control/ss2sys.m scripts/control/ss2tf.m scripts/control/ss2zp.m scripts/control/starp.m scripts/control/step.m scripts/control/stepimp.m scripts/control/swap.m scripts/control/swapcols.m scripts/control/swaprows.m scripts/control/sys2fir.m scripts/control/sys2ss.m scripts/control/sys2tf.m scripts/control/sys2zp.m scripts/control/sysadd.m scripts/control/sysappend.m scripts/control/syschnames.m scripts/control/syschtsam.m scripts/control/sysconnect.m scripts/control/syscont.m scripts/control/syscont_disc.m scripts/control/sysdimensions.m scripts/control/sysdisc.m scripts/control/sysdup.m scripts/control/sysgroup.m scripts/control/sysidx.m scripts/control/sysmin.m scripts/control/sysmult.m scripts/control/sysout.m scripts/control/sysprune.m scripts/control/sysreorder.m scripts/control/sysrepdemo.m scripts/control/sysscale.m scripts/control/syssetsignals.m scripts/control/syssub.m scripts/control/sysupdate.m scripts/control/tf2ss.m scripts/control/tf2sys.m scripts/control/tf2zp.m scripts/control/tfout.m scripts/control/tzero.m scripts/control/tzero2.m scripts/control/ugain.m scripts/control/unpacksys.m scripts/control/wgt1o.m scripts/control/zgfmul.m scripts/control/zgfslv.m scripts/control/zginit.m scripts/control/zgpbal.m scripts/control/zgscal.m scripts/control/zgsgiv.m scripts/control/zgshsr.m scripts/control/zp2ss.m scripts/control/zp2ssg2.m scripts/control/zp2sys.m scripts/control/zp2tf.m scripts/control/zpout.m
diffstat 126 files changed, 515 insertions(+), 396 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/control/DEMOcontrol.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/DEMOcontrol.m	Sat Dec 18 04:21:52 1999 +0000
@@ -40,7 +40,9 @@
 ## @end deftypefn
 
 ## Demo programs: bddemo.m, frdemo.m, analdemo.m, moddmeo.m, rldemo.m
-## Written by David Clem August 15, 1994
+
+## Author: David Clem
+## Created: August 15, 1994
 
 function DEMOcontrol ()
 
--- a/scripts/control/abcddim.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/abcddim.m	Sat Dec 18 04:21:52 1999 +0000
@@ -61,9 +61,11 @@
 ## See also: is_abcd
 ## @end deftypefn
 
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1993.
+## a s hodel: modified to accept pure-gain systems aug 1996
+
 function [n, m, p] = abcddim (a, b, c, d)
-## Written by A. S. Hodel (scotte@eng.auburn.edu) August 1993.
-## a s hodel: modified to accept pure-gain systems aug 1996
 
   if (nargin != 4)
     error ("abcddim: four arguments required");
--- a/scripts/control/abcddims.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/abcddims.m	Sat Dec 18 04:21:52 1999 +0000
@@ -24,12 +24,15 @@
 ## @var{my} and @var{ny} are the row and column dimensions of the result.
 ## @end deftypefn
 
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: February 1997
+
 function [y, my, ny] = abcddims (x)
-## Written by A. S. Hodel (scotte@eng.auburn.edu) Feb 1997
 
   y = x;
   if(isempty(y))
     y = [];
   endif
   [my,ny] = size(y);
+
 endfunction
--- a/scripts/control/analdemo.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/analdemo.m	Sat Dec 18 04:21:52 1999 +0000
@@ -21,9 +21,11 @@
 ##  Octave Controls toolbox demo: State Space analysis demo
 ## @end deftypefn
 
+## Author: David Clem
+## Created: August 15, 1994
+## Updated by John Ingram December 1996
+
 function analdemo ()
-## Written by David Clem August 15, 1994
-## Updated by John Ingram December 1996
   
   while (1)
     clc
--- a/scripts/control/are.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/are.m	Sat Dec 18 04:21:52 1999 +0000
@@ -61,8 +61,10 @@
 
 ## See also: balance, dare
 
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1993
+
 function x = are (a, b, c, opt)
-## Written by A. S. Hodel (scotte@eng.auburn.edu) August 1993.
 
   if (nargin == 3 || nargin == 4)
     if (nargin == 4)
--- a/scripts/control/bddemo.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/bddemo.m	Sat Dec 18 04:21:52 1999 +0000
@@ -21,10 +21,11 @@
 ##  Octave Controls toolbox demo: Block Diagram Manipulations demo
 ## @end deftypefn
  
-function bddemo ()
+## Author: David Clem
+## Created: August 15, 1994
+## Modified by A S Hodel Summer-Fall 1996
 
-  ## Written by David Clem August 15, 1994
-  ## Modified by A S Hodel Summer-Fall 1996
+function bddemo ()
 
   sav_page = page_screen_output;
   page_screen_output = 1;
--- a/scripts/control/bode.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/bode.m	Sat Dec 18 04:21:52 1999 +0000
@@ -90,14 +90,14 @@
 ## @end enumerate
 ## @end deftypefn 
 
-function [mag_r, phase_r, w_r] = bode (sys, w, outputs, inputs, plot_style)
+## Author: John Ingram <ingraje@eng.auburn.edu>
+## Created: July 10, 1996
+## Based on previous code by R. Bruce Tenison, July 13, 1994
+## Modified by David Clem November 13, 1994
+## again by A. S. Hodel July 1995 (smart plot range, etc.)
+## Modified by Kai P. Mueller September 28, 1997 (multiplot mode)
 
-  ## Written by John Ingram  July 10th, 1996
-  ## Based on previous code
-  ## By R. Bruce Tenison, July 13, 1994
-  ## Modified by David Clem November 13, 1994
-  ## again by A. S. Hodel July 1995 (smart plot range, etc.)
-  ## Modified by Kai P. Mueller September 28, 1997 (multiplot mode)
+function [mag_r, phase_r, w_r] = bode (sys, w, outputs, inputs, plot_style)
 
   ## check number of input arguments given
   if (nargin < 1 | nargin > 5)
--- a/scripts/control/buildssic.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/buildssic.m	Sat Dec 18 04:21:52 1999 +0000
@@ -19,8 +19,6 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File } {@var{sys} =} 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})
 ## 
-## Contributed by Kai Mueller.
-## 
 ##  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
@@ -126,11 +124,12 @@
 ## where "One" is a unity gain (auxillary) function with order 0.
 ## (e.g. @code{One = ugain(1);})
 ## @end deftypefn
- 
+
+## Author: Kai P. Mueller <mueller@ifr.ing.tu-bs.de>
+## Created: April 1998
+
 function sys = buildssic (Clst, Ulst, Olst, Ilst, s1, s2, s3, s4, s5, s6, s7, s8)
 
-  ## Written by Kai Mueller April 1998
-
   if((nargin < 5) || (nargin > 12))
     usage("sys = buildssic(Clst,Ulst,Olst,Ilst,s1,s2,s3,s4,s5,s6,s7,s8)");
   endif
--- a/scripts/control/c2d.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/c2d.m	Sat Dec 18 04:21:52 1999 +0000
@@ -66,11 +66,11 @@
 ## to the names of the new discrete states.   
 ## @end deftypefn
 
-function dsys = c2d (sys, opt, T)
+## Author: R. Bruce Tenison <btenison@eng.auburn.edu>
+## Created: October 1993
+## Updated by John Ingram for system data structure August 1996
 
-  ## Written by R.B. Tenison (btenison@eng.auburn.edu)
-  ## October 1993
-  ## Updated by John Ingram for system data structure August 1996
+function dsys = c2d (sys, opt, T)
 
   ## parse input arguments
   if(nargin < 1 | nargin > 3)
--- a/scripts/control/controldemo.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/controldemo.m	Sat Dec 18 04:21:52 1999 +0000
@@ -18,8 +18,9 @@
 
 ## Controls toolbox demo.
 ## Demo programs: bddemo.m, frdemo.m, analdemo.m, moddmeo.m, rldemo.m
-##  
-## Written by David Clem August 15, 1994
+
+## Author: David Clem
+## Created: August 15, 1994
 
 function DEMOcontrol ()
 
--- a/scripts/control/ctrb.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/ctrb.m	Sat Dec 18 04:21:52 1999 +0000
@@ -32,11 +32,11 @@
 ##        are much better for controllability tests.
 ## @end deftypefn
 
-function Qs = ctrb (sys, b)
+## Author: Kai P. Mueller <mueller@ifr.ing.tu-bs.de>
+## Created: November 4, 1997
+## based on is_controllable.m of Scottedward Hodel
 
-  ## Written by Kai P. Mueller November 4, 1997
-  ## based on is_controllable.m of Scottedward Hodel
-  ## modified by
+function Qs = ctrb (sys, b)
 
   if (nargin == 2)
     a = sys;
--- a/scripts/control/d2c.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/d2c.m	Sat Dec 18 04:21:52 1999 +0000
@@ -54,10 +54,12 @@
 ## signal names as in @var{sys}).
 ## @end deftypefn
  
+## Author: R. Bruce Tenison <btenison@eng.auburn.edu>
+## Created: August 23, 1994
+## Updated by John Ingram for system data structure  August 1996
+
 function csys = d2c (sys, opt)
 
-  ## Written by R. Bruce Tenison August 23, 1994
-  ## Updated by John Ingram for system data structure  August 1996
   ## SYS_INTERNAL accesses members of system data structure
 
   if( (nargin != 1) & (nargin != 2) )
--- a/scripts/control/damp.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/damp.m	Sat Dec 18 04:21:52 1999 +0000
@@ -28,10 +28,10 @@
 ## See also: @code{eig}
 ## @end deftypefn
 
-function damp (p, tsam)
+## Author: Kai P. Mueller <mueller@ifr.ing.tu-bs.de>
+## Created: September 29, 1997.
 
-  ## Written by Kai P. Mueller September 29, 1997.
-  ## Update
+function damp (p, tsam)
 
   ## assume a continuous system
   DIGITAL = 0;
--- a/scripts/control/dare.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/dare.m	Sat Dec 18 04:21:52 1999 +0000
@@ -71,7 +71,7 @@
 
 ## See also: balance, are
 
-## Author: A. S. Hodel <scotte@eng.auburn.edu>
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
 ## Created: August 1993
 ## Adapted-By: jwe
 
--- a/scripts/control/dcgain.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/dcgain.m	Sat Dec 18 04:21:52 1999 +0000
@@ -24,7 +24,8 @@
 ##       number of @var{A}-Matrix in @var{sys} (default @var{tol} = 1.0e-10)
 ## @end deftypefn
 
-## Written by Kai P Mueller (mueller@ifr.ing.tu-bs.de) October 1, 1997
+## Author: Kai P. Mueller <mueller@ifr.ing.tu-bs.de>
+## Created: October 1, 1997
 
 function gm = dcgain (sys, tol)
 
--- a/scripts/control/dezero.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/dezero.m	Sat Dec 18 04:21:52 1999 +0000
@@ -23,6 +23,7 @@
 
 ## Author: Kurt Hornik <Kurt.Hornik@ci.tuwien.ac.at>
 ## Adapted-By: jwe
+
 ## Adapted from deblank by A. S. Hodel (a.s.hodel@eng.auburn.edu)
 ## 	(the name dezero is a reference to the Fermilab D0 experiment,
 ##      where my sister did her PhD research) 
--- a/scripts/control/dgkfdemo.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/dgkfdemo.m	Sat Dec 18 04:21:52 1999 +0000
@@ -21,7 +21,8 @@
 ## Octave Controls toolbox demo: H2/Hinfinity options demos
 ##@end deftypefn
  
-## Written by A. S. Hodel June 1995
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: June 1995
 
 function dgkfdemo ()
  
--- a/scripts/control/dgram.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/dgram.m	Sat Dec 18 04:21:52 1999 +0000
@@ -39,9 +39,10 @@
 ## 
 ## @end deftypefn
 
-function m = dgram (a, b)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: July 1995
 
-  ## Written by A. S. Hodel July 1995
+function m = dgram (a, b)
 
   ## let dlyap do the error checking...
   m = dlyap(a,b*b');
--- a/scripts/control/dhinfdemo.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/dhinfdemo.m	Sat Dec 18 04:21:52 1999 +0000
@@ -1,4 +1,4 @@
-## Copyright (C) 1996, 1998 Kai Mueller
+## Copyright (C) 1996, 1998 Kai P. Mueller
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/control/dlqe.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/dlqe.m	Sat Dec 18 04:21:52 1999 +0000
@@ -95,11 +95,13 @@
 ## @end table
 ## @end deftypefn
 
-function [l, m, p, e] = dlqe (a, g, c, sigw, sigv, s)
-## Written by A. S. Hodel (scotte@eng.auburn.edu) August, 1993.
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1993
 ## Modified for discrete time by R. Bruce Tenison (btenison@eng.auburn.edu)
 ## October, 1993
 
+function [l, m, p, e] = dlqe (a, g, c, sigw, sigv, s)
+
   if (nargin != 5 && nargin != 6)
     error ("dlqe: invalid number of arguments");
   endif
--- a/scripts/control/dlqg.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/dlqg.m	Sat Dec 18 04:21:52 1999 +0000
@@ -43,9 +43,10 @@
 ##
 ## See also: lqg, dlqe, dlqr
 
-function [K, Q, P, Ee, Er] = dlqg (A, B, C, G, Sigw, Sigv, Q, R)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1995
 
-  ## Written by A. S. Hodel August 1995
+function [K, Q, P, Ee, Er] = dlqg (A, B, C, G, Sigw, Sigv, Q, R)
 
   warning("dlqg: obsolete. use lqg instead (system data structure format)");
 
--- a/scripts/control/dlqr.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/dlqr.m	Sat Dec 18 04:21:52 1999 +0000
@@ -104,11 +104,13 @@
 ## @end enumerate
 ## @end deftypefn
 
-function [k, p, e] = dlqr (a, b, q, r, s)
-## Written by A. S. Hodel (scotte@eng.auburn.edu) August 1993.
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1993
 ## Converted to discrete time by R. B. Tenison
 ## (btenison@eng.auburn.edu) October 1993
 
+function [k, p, e] = dlqr (a, b, q, r, s)
+
   if (nargin != 4 && nargin != 5)
     error ("dlqr: invalid number of arguments");
   endif
--- a/scripts/control/dlyap.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/dlyap.m	Sat Dec 18 04:21:52 1999 +0000
@@ -60,9 +60,10 @@
 ## 
 ## @end deftypefn
  
-function x = dlyap (a, b)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1993
 
-  ## Written by A. S. Hodel (scotte@eng.auburn.edu) August 1993.
+function x = dlyap (a, b)
 
   if ((n = is_square (a)) == 0)
     warning ("dlyap: a must be square");
--- a/scripts/control/dmr2d.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/dmr2d.m	Sat Dec 18 04:21:52 1999 +0000
@@ -70,9 +70,9 @@
 ## 
 ## @end deftypefn
 
-function [dsys, fidx] = dmr2d (sys, idx, sprefix, Ts2, cuflg)
+## Adapted from c2d by a.s.hodel@eng.auburn.edu
 
-  ## Adapted from c2d by a.s.hodel@eng.auburn.edu
+function [dsys, fidx] = dmr2d (sys, idx, sprefix, Ts2, cuflg)
 
   ## parse input arguments
   if(nargin != 4 | nargout > 2)
--- a/scripts/control/fir2sys.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/fir2sys.m	Sat Dec 18 04:21:52 1999 +0000
@@ -67,12 +67,13 @@
 ## @end example
 ## @end deftypefn
  
-function sys = fir2sys (num, tsam, inname, outname)
+## Author: R. Bruce Tenison <btenison@eng.auburn.edu>
+## Created: July 29, 1994
+## Name changed to TF2SYS July 1995
+## updated for new system data structure format July 1996
+## adapted from tf2sys july 1996
 
-  ## Written by R. Bruce Tenison  July 29, 1994
-  ## Name changed to TF2SYS July 1995
-  ## updated for new system data structure format July 1996
-  ## adapted from tf2sys july 1996
+function sys = fir2sys (num, tsam, inname, outname)
 
   ## Test for the correct number of input arguments
   if (nargin < 1 | nargin > 4)
--- a/scripts/control/frdemo.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/frdemo.m	Sat Dec 18 04:21:52 1999 +0000
@@ -21,12 +21,12 @@
 ## Octave Controls toolbox demo: Frequency Response demo
 ## @end deftypefn
 
-function frdemo ()
+## Author: David Clem
+## Created: August 15, 1994 
+## a s hodel: updated to match new order of ss2zp outputs
+## J Ingram:  updated for system data structure format August 1996
 
-  ## Written by David Clem August 15, 1994 
-
-  ## a s hodel: updated to match new order of ss2zp outputs
-  ## J Ingram:  updated for system data structure format August 1996
+function frdemo ()
 
   disp("")
   clc
--- a/scripts/control/freqchkw.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/freqchkw.m	Sat Dec 18 04:21:52 1999 +0000
@@ -22,9 +22,10 @@
 ## Returns boolean value.
 ## @end deftypefn
 
-function USEW = freqchkw (w)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: July 1996
 
-  ## A S Hodel July 1996
+function USEW = freqchkw (w)
 
   if(isempty(w))
     USEW = 0;
--- a/scripts/control/freqresp.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/freqresp.m	Sat Dec 18 04:21:52 1999 +0000
@@ -39,9 +39,11 @@
 ## @end table
 ## @end deftypefn
 
+## Author: R. Bruce Tenison <btenison@eng.auburn.edu>
+## Created: July 11, 1994
+
 function [ff, w] = freqresp (sys, USEW, w);
 
-  ## Written by: R. Bruce Tenison July 11, 1994
   ## SYS_INTERNAL accesses members of system data structure
 
   save_val = empty_list_elements_ok;
--- a/scripts/control/gram.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/gram.m	Sat Dec 18 04:21:52 1999 +0000
@@ -24,7 +24,7 @@
 ## @var{m} satisfies @math{ a m + m a' + b b' = 0 }.
 ## @end deftypefn
 
-## Written by A. S. Hodel 
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
 
 function m = gram (a, b)
 
--- a/scripts/control/h2norm.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/h2norm.m	Sat Dec 18 04:21:52 1999 +0000
@@ -25,10 +25,11 @@
 ##  H2 and Hinf Control Problems", IEEE TAC August 1989
 ## @end deftypefn
 
-function h2gain = h2norm (sys)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1995
+## updated for system data structure by John Ingram November 1996
 
-  ## A. S. Hodel Aug 1995
-  ## updated for system data structure by John Ingram November 1996
+function h2gain = h2norm (sys)
 
   if((nargin != 1))
     usage("h2gain = h2norm(sys)");
--- a/scripts/control/h2syn.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/h2syn.m	Sat Dec 18 04:21:52 1999 +0000
@@ -58,9 +58,9 @@
 ## @end table
 ## @end deftypefn
  
-function [K, gain, Kc, Kf, Pc, Pf] = h2syn (Asys, nu, ny, tol)
+## Updated for System structure December 1996 by John Ingram
 
-  ## Updated for System structure December 1996 by John Ingram
+function [K, gain, Kc, Kf, Pc, Pf] = h2syn (Asys, nu, ny, tol)
 
   if ((nargin < 3) | (nargin > 4))
     usage("[K,gain, Kc, Kf, Pc, Pf] = h2syn(Asys,nu,ny[,tol])");
--- a/scripts/control/hinf_ctr.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/hinf_ctr.m	Sat Dec 18 04:21:52 1999 +0000
@@ -35,12 +35,13 @@
 ## Do not attempt to use this at home; no argument checking performed.
 ## @end deftypefn
   
-function K = hinf_ctr (dgs, F, H, Z, g)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1995
+## Revised by Kai P. Mueller April 1998 to solve the general H_infinity
+## problem using unitary transformations Q (on w and z)
+## and non-singular transformations R (on u and y).
 
-  ## A. S. Hodel August 1995
-  ## Revised by Kai P Mueller April 1998 to solve the general H_infinity
-  ## problem using unitary transformations Q (on w and z)
-  ## and non-singular transformations R (on u and y).
+function K = hinf_ctr (dgs, F, H, Z, g)
 
   nw = dgs.nw;
   nu = dgs.nu;
--- a/scripts/control/hinfdemo.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/hinfdemo.m	Sat Dec 18 04:21:52 1999 +0000
@@ -1,4 +1,4 @@
-## Copyright (C) 1996, 1998 Kai Mueller
+## Copyright (C) 1996, 1998 Kai P. Mueller
 ##
 ## This file is part of Octave.
 ##
@@ -128,7 +128,8 @@
 ## @end table
 ## @end deftypefn
 
-## Kai P. Mueller 30-APR-1998 <mueller@ifr.ing.tu-bs.de
+## Author: Kai P. Mueller <mueller@ifr.ing.tu-bs.de>
+## Created: April 30, 1998
 
 yn = [];
 while (length(yn) < 1)
--- a/scripts/control/hinfsyn.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/hinfsyn.m	Sat Dec 18 04:21:52 1999 +0000
@@ -75,14 +75,15 @@
 ## @end enumerate
 ## @end deftypefn
  
-function [K, g, GW, Xinf, Yinf] = hinfsyn (Asys, nu, ny, gmin, gmax, gtol, ptol, tol)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1995
+## Updated for Packed system structures December 1996 by John Ingram
+## 
+## Revised by Kai P. Mueller April 1998 to solve the general H_infinity
+## problem using unitary transformations Q (on w and z)
+## and non-singular transformations R (on u and y).
 
-  ## A. S. Hodel August 1995
-  ## Updated for Packed system structures December 1996 by John Ingram
-  ## 
-  ## Revised by Kai P Mueller April 1998 to solve the general H_infinity
-  ## problem using unitary transformations Q (on w and z)
-  ## and non-singular transformations R (on u and y).
+function [K, g, GW, Xinf, Yinf] = hinfsyn (Asys, nu, ny, gmin, gmax, gtol, ptol, tol)
 
   if( (nargin < 1) | (nargin > 8) )
     usage("[K,g,GW,Xinf,Yinf] = hinfsyn(Asys,nu,ny,gmin,gmax,gtol,ptol,tol)");
--- a/scripts/control/hinfsyn_chk.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/hinfsyn_chk.m	Sat Dec 18 04:21:52 1999 +0000
@@ -45,9 +45,10 @@
 ## Do not attempt to use this at home; no argument checking performed.
 ## @end deftypefn 
 
-function [retval, Pc, Pf] = hinfsyn_chk (A, B1, B2, C1, C2, D12, D21, g, ptol)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1995
 
-  ## A. S. Hodel August 1995
+function [retval, Pc, Pf] = hinfsyn_chk (A, B1, B2, C1, C2, D12, D21, g, ptol)
 
   Pc = Pf = [];
 
--- a/scripts/control/impulse.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/impulse.m	Sat Dec 18 04:21:52 1999 +0000
@@ -44,12 +44,13 @@
  
 ## See also:  step, stepimp
 
-function [y, t] = impulse (sys, inp, tstop, n)
-
-## Written by Kai P. Mueller October 2, 1997
+## Author: Kai P. Mueller <mueller@ifr.ing.tu-bs.de>
+## Created: October 2, 1997
 ## based on lsim.m of Scottedward Hodel
 ## modified by
 
+function [y, t] = impulse (sys, inp, tstop, n)
+
   if((nargin < 1) || (nargin > 4))
     usage("[y, u] = impulse(sys[, inp, tstop, n])");
   endif
--- a/scripts/control/is_abcd.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/is_abcd.m	Sat Dec 18 04:21:52 1999 +0000
@@ -25,11 +25,11 @@
 
 ## See also: abcddim
 
-function retval = is_abcd (a, b, c, d)
+## Author: Kai P. Mueller <mueller@ifr.ing.tu-bs.de>
+## Created: November 4, 1997
+## based on is_controllable.m of Scottedward Hodel
 
-  ## Written by Kai P. Mueller November 4, 1997
-  ## based on is_controllable.m of Scottedward Hodel
-  ## modified by
+function retval = is_abcd (a, b, c, d)
 
   retval = 0;
   switch (nargin)
--- a/scripts/control/is_controllable.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/is_controllable.m	Sat Dec 18 04:21:52 1999 +0000
@@ -58,11 +58,12 @@
 ## See also: size, rows, columns, length, is_matrix, is_scalar, is_vector
 ##     is_observable, is_stabilizable, is_detectable, krylov, krylovb
 
-function [retval, U] = is_controllable (a, b, tol)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1993
+## Updated by A. S. Hodel (scotte@eng.auburn.edu) Aubust, 1995 to use krylovb 
+## Updated by John Ingram (ingraje@eng.auburn.edu) July, 1996 for packed systems
 
-  ## Written by A. S. Hodel (scotte@eng.auburn.edu) August, 1993.
-  ## Updated by A. S. Hodel (scotte@eng.auburn.edu) Aubust, 1995 to use krylovb 
-  ## Updated by John Ingram (ingraje@eng.auburn.edu) July, 1996 for packed systems
+function [retval, U] = is_controllable (a, b, tol)
 
   deftol = 1;    # assume default tolerance
   if(nargin < 1 | nargin > 3)
--- a/scripts/control/is_detectable.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/is_detectable.m	Sat Dec 18 04:21:52 1999 +0000
@@ -33,10 +33,11 @@
 
 ## See also: size, rows, columns, length, is_matrix, is_scalar, is_vector.
 
-function [retval, U] = is_detectable (a, c, tol)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1993
+## Updated by John Ingram (ingraje@eng.auburn.edu) July 1996.
 
-  ## Written by A. S. Hodel (scotte@eng.auburn.edu) August 1993.
-  ## Updated by John Ingram (ingraje@eng.auburn.edu) July 1996.
+function [retval, U] = is_detectable (a, c, tol)
 
   if( nargin < 1) 
     usage("[retval,U] = is_detectable(a , c {, tol})");
--- a/scripts/control/is_dgkf.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/is_dgkf.m	Sat Dec 18 04:21:52 1999 +0000
@@ -94,31 +94,31 @@
 ## 
 ## @end deftypefn
  
-function [retval, dgkf_struct] = is_dgkf (Asys, nu, ny, tol)
-
-  ## Written by A. S. Hodel
-  ## Updated by John Ingram July 1996 to accept structured systems
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Updated by John Ingram July 1996 to accept structured systems
 
-  ## Revised by Kai P Mueller April 1998 to solve the general H_infinity
-  ## problem using unitary transformations Q (on w and z)
-  ## and non-singular transformations R (on u and y) such
-  ## that the Dzu and Dyw matrices of the transformed plant
-  ## 
-  ##    ~
-  ##    P  (the variable Asys here)
-  ##
-  ## become
-  ##
-  ##    ~            -1         T
-  ##    D  = Q   D   R   = [ 0 I ]  or [ I ],
-  ##     12   12  12  12
-  ##
-  ##    ~            T
-  ##    D  = R   D   Q   = [ 0 I ] or [ I ].
-  ##     21   21  21  21
-  ##
-  ## This transformation together with the algorithm in [1] solves
-  ## the general problem (see [2] for example). 
+## Revised by Kai P. Mueller April 1998 to solve the general H_infinity
+## problem using unitary transformations Q (on w and z)
+## and non-singular transformations R (on u and y) such
+## that the Dzu and Dyw matrices of the transformed plant
+## 
+##    ~
+##    P  (the variable Asys here)
+##
+## become
+##
+##    ~            -1         T
+##    D  = Q   D   R   = [ 0 I ]  or [ I ],
+##     12   12  12  12
+##
+##    ~            T
+##    D  = R   D   Q   = [ 0 I ] or [ I ].
+##     21   21  21  21
+##
+## This transformation together with the algorithm in [1] solves
+## the general problem (see [2] for example). 
+
+function [retval, dgkf_struct] = is_dgkf (Asys, nu, ny, tol)
 
   if (nargin < 3) | (nargin > 4)
     usage("[retval,dgkf_struct] = is_dgkf(Asys,nu,ny{,tol})");
--- a/scripts/control/is_digital.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/is_digital.m	Sat Dec 18 04:21:52 1999 +0000
@@ -32,9 +32,10 @@
 ## Exits with an error of sys is a mixed (continuous and discrete) system
 ## @end deftypefn
 
-function DIGITAL = is_digital (sys, eflg)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: July 1996
 
-  ## a s hodel July 1996
+function DIGITAL = is_digital (sys, eflg)
 
   switch(nargin)
   case(1),  eflg = 0;
--- a/scripts/control/is_observable.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/is_observable.m	Sat Dec 18 04:21:52 1999 +0000
@@ -32,10 +32,11 @@
 
 ## See also: size, rows, columns, length, is_matrix, is_scalar, is_vector.
 
-function [retval, U] = is_observable (a, c, tol)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1993
+## Updated by John Ingram (ingraje@eng.auburn.edu) July 1996.
 
-  ## Written by A. S. Hodel (scotte@eng.auburn.edu) August 1993.
-  ## Updated by John Ingram (ingraje@eng.auburn.edu) July 1996.
+function [retval, U] = is_observable (a, c, tol)
 
   if( nargin < 1) 
     usage("[retval,U] = is_observable(a , c {, tol})");
--- a/scripts/control/is_sample.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/is_sample.m	Sat Dec 18 04:21:52 1999 +0000
@@ -22,7 +22,8 @@
 ##  (real,scalar, > 0)
 ## @end deftypefn
  
-## A. S. Hodel July 1995
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: July 1995
 
 function out = is_sample (Ts)
 
--- a/scripts/control/is_siso.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/is_siso.m	Sat Dec 18 04:21:52 1999 +0000
@@ -22,7 +22,8 @@
 ## @var{sys} is single-input, single-output.
 ## @end deftypefn
  
-## a s hodel July 1996, 1998
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: July 1996, 1998
 
 function  SISO = is_siso (sys)
 
--- a/scripts/control/is_stabilizable.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/is_stabilizable.m	Sat Dec 18 04:21:52 1999 +0000
@@ -41,11 +41,12 @@
 ## See also: size, rows, columns, length, is_matrix, is_scalar, is_vector
 ##     is_observable, is_stabilizable, is_detectable
 
-function [retval, U] = is_stabilizable (a, b, tol)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1993
+## Updated by A. S. Hodel (scotte@eng.auburn.edu) Aubust, 1995 to use krylovb 
+## Updated by John Ingram (ingraje@eng.auburn.edu) July, 1996 to accept systems
 
-  ## Written by A. S. Hodel (scotte@eng.auburn.edu) August, 1993.
-  ## Updated by A. S. Hodel (scotte@eng.auburn.edu) Aubust, 1995 to use krylovb 
-  ## Updated by John Ingram (ingraje@eng.auburn.edu) July, 1996 to accept systems
+function [retval, U] = is_stabilizable (a, b, tol)
 
   if(nargin < 1)        usage("[retval,U] = is_stabilizable(a {, b ,tol})");
   elseif(is_struct(a))
--- a/scripts/control/is_stable.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/is_stable.m	Sat Dec 18 04:21:52 1999 +0000
@@ -41,11 +41,12 @@
 ## See also: size, rows, columns, length, is_matrix, is_scalar, is_vector
 ##     is_observable, is_stabilizable, is_detectable, krylov, krylovb
 
-function retval = is_stable (a, tol, disc)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1993
+## Updated by John Ingram (ingraje@eng.auburn.edu) July, 1996 for systems
+## Updated to simpler form by a.s.hodel 1998
 
-  ## Written by A. S. Hodel (scotte@eng.auburn.edu) August, 1993.
-  ## Updated by John Ingram (ingraje@eng.auburn.edu) July, 1996 for systems
-  ## Updated to simpler form by a.s.hodel 1998
+function retval = is_stable (a, tol, disc)
 
   if( (nargin < 1) | (nargin > 3) )   usage("is_stable(a {,tol,disc})");
   elseif(is_struct(a))
--- a/scripts/control/jet707.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/jet707.m	Sat Dec 18 04:21:52 1999 +0000
@@ -23,16 +23,14 @@
 ##  System inputs:   (1) thrust   and (2) elevator angle
 ##  System outputs:  (1) airspeed and (2) pitch angle
 ##  Ref: R. Brockhaus: Flugregelung (Flight Control), Springer, 1994
-## 
-##  see also: ord2
-## 
-## Contributed by Kai Mueller
 ## @end deftypefn
- 
-function outsys = jet707 ()
 
-  ## Written by Kai P. Mueller September 28, 1997
-  ## Updates
+## see also: ord2
+ 
+## Author: Kai P. Mueller <mueller@ifr.ing.tu-bs.de>
+## Created: September 28, 1997
+
+function outsys = jet707 ()
 
   if (nargin != 0)
     usage("outsys = jet707()")
--- a/scripts/control/lqe.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/lqe.m	Sat Dec 18 04:21:52 1999 +0000
@@ -86,15 +86,17 @@
 ## @end table
 ## @end deftypefn
 
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1993
+
 function [k, p, e] = lqe (a, g, c, sigw, sigv, zz)
-## Written by A. S. Hodel (scotte@eng.auburn.edu) August, 1993.
 
   if ( (nargin != 5) && (nargin != 6))
     error ("lqe: invalid number of arguments");
   endif
 
-## The problem is dual to the regulator design, so transform to lqr
-## call.
+  ## The problem is dual to the regulator design, so transform to lqr
+  ## call.
 
   if (nargin == 5)
     [k, p, e] = lqr (a', c', g*sigw*g', sigv);
--- a/scripts/control/lqg.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/lqg.m	Sat Dec 18 04:21:52 1999 +0000
@@ -61,10 +61,11 @@
 
 ## See also:  h2syn, lqe, lqr
 
-function [K, Q1, P1, Ee, Er] = lqg (sys, Sigw, Sigv, Q, R, input_list)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1995
+## revised for new system format August 1996
 
-  ## Written by A. S. Hodel August 1995; revised for new system format
-  ## August 1996
+function [K, Q1, P1, Ee, Er] = lqg (sys, Sigw, Sigv, Q, R, input_list)
 
   if ( (nargin < 5) | (nargin > 6))
     usage("[K,Q1,P1,Ee,Er] = lqg(sys,Sigw, Sigv,Q,R{,input_list})");
--- a/scripts/control/lqr.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/lqr.m	Sat Dec 18 04:21:52 1999 +0000
@@ -111,9 +111,10 @@
 ## Prentice-Hall, 1990, pp. 56-58
 ## @end deftypefn
 
-function [k, p, e] = lqr (a, b, q, r, s)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1993.
 
-  ## Written by A. S. Hodel (scotte@eng.auburn.edu) August 1993.
+function [k, p, e] = lqr (a, b, q, r, s)
 
   ## disp("lqr: entry");
 
--- a/scripts/control/lsim.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/lsim.m	Sat Dec 18 04:21:52 1999 +0000
@@ -34,10 +34,12 @@
 ## and x = system states.
 ## @end deftypefn
  
-function [y, x] = lsim (sys, u, t, x0)
+## Author: David Clem
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: July 1995
+## modified by John Ingram for system format August 1996
 
-  ## Written by David Clem, A. S. Hodel July 1995
-  ## modified by John Ingram for system format August 1996
+function [y, x] = lsim (sys, u, t, x0)
 
   if((nargin < 3)||(nargin > 4))
     usage("[y,x] = lsim(sys,u,t[,x0])");
--- a/scripts/control/ltifr.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/ltifr.m	Sat Dec 18 04:21:52 1999 +0000
@@ -38,11 +38,14 @@
 ## for complex frequencies @math{s = jw}.
 ## @end deftypefn
 
+## Author: R. Bruce Tenison <btenison@eng.auburn.edu>
+## Author: David Clem
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: July 1995
+## updated by John Ingram August 1996 for system format
+
 function out = ltifr (a, b, w)
 
-  ## R. B. Tenison, D. Clem, A. S. Hodel, July 1995
-  ## updated by John Ingram August 1996 for system format
-  
   if ((nargin < 2) || (nargin > 3))
     error("incorrect number of input arguments");
   endif
--- a/scripts/control/lyap.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/lyap.m	Sat Dec 18 04:21:52 1999 +0000
@@ -76,7 +76,7 @@
 ## Solves by using the Bartels-Stewart algorithm (1972).
 ## @end deftypefn
 
-## Author: A. S. Hodel <scotte@eng.auburn.edu>
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
 ## Created: August 1993
 ## Adapted-By: jwe
 
--- a/scripts/control/minfo.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/minfo.m	Sat Dec 18 04:21:52 1999 +0000
@@ -29,11 +29,12 @@
 ##      ncstates is the number of continuous states of the system
 ##	 ndstates is the number of discrete states of the system
 
-function [systype, nout, nin, ncstates, ndstates] = minfo (inmat)
+## Author: R. Bruce Tenison <btenison@eng.auburn.edu>
+## Created: July 29, 1994
+## Modified by David Clem November 13, 1994
+## Modified by A. S. Hodel July 1995
 
-  ## Written by R. Bruce Tenison July 29, 1994
-  ## Modified by David Clem November 13, 1994
-  ## Modified by A. S. Hodel July 1995
+function [systype, nout, nin, ncstates, ndstates] = minfo (inmat)
 
   warning("minfo: obsolete.  Use sys2ss, sys2tf, or sys2zp.");
     
--- a/scripts/control/moddemo.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/moddemo.m	Sat Dec 18 04:21:52 1999 +0000
@@ -25,9 +25,11 @@
 ## @end format
 ## @end deftypefn
  
+## Author: David Clem
+## Created: August 15, 1994
+## a s hodel: updated to reflect updated output order in ss2zp
+
 function moddemo ()
-## Written by David Clem August 15, 1994
-## a s hodel: updated to reflect updated output order in ss2zp
 
   while (1)
     clc
--- a/scripts/control/nyquist.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/nyquist.m	Sat Dec 18 04:21:52 1999 +0000
@@ -84,13 +84,14 @@
 ## 
 ## @end deftypefn
  
+## Author: R. Bruce Tenison <btenison@eng.auburn.edu>
+## Created: July 13, 1994
+## A. S. Hodel July 1995 (adaptive frequency spacing, 
+##     remove acura parameter, etc.)
+## Revised by John Ingram July 1996 for system format
+
 function [realp, imagp, w] = nyquist (sys, w, outputs, inputs, atol)
    
-  ## By R. Bruce Tenison, July 13, 1994
-  ## A. S. Hodel July 1995 (adaptive frequency spacing, 
-  ##     remove acura parameter, etc.)
-  ## Revised by John Ingram July 1996 for system format
-
   ## Both bode and nyquist share the same introduction, so the common
   ## parts are in a file called bodquist.m.  It contains the part that
   ## finds the number of arguments, determines whether or not the system
--- a/scripts/control/obsv.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/obsv.m	Sat Dec 18 04:21:52 1999 +0000
@@ -36,10 +36,10 @@
 ##        are much better for observability tests.
 ## @end deftypefn
 
-function Qb = obsv (sys, c)
+## Author: Kai P. Mueller <mueller@ifr.ing.tu-bs.de>
+## Created: November 4, 1997
 
-  ## Written by Kai P. Mueller November 4, 1997
-  ## modified by
+function Qb = obsv (sys, c)
 
   if (nargin == 2)
     a = sys;
--- a/scripts/control/ord2.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/ord2.m	Sat Dec 18 04:21:52 1999 +0000
@@ -42,9 +42,11 @@
 
 ## See also: jet707 (MIMO example, Boeing 707-321 aircraft model)
 
+## Author: Kai P. Mueller <mueller@ifr.ing.tu-bs.de>
+## Created: September 28, 1997
+
 function outsys = ord2 (nfreq, damp, gain)
 
-  ## Written by Kai P. Mueller September 28, 1997
   ## Updates
 
   if(nargin != 2 & nargin != 3)
--- a/scripts/control/outlist.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/outlist.m	Sat Dec 18 04:21:52 1999 +0000
@@ -42,9 +42,10 @@
 ## 
 ## @end deftypefn
 
-function str_val = outlist (name_list, tabchar, yd, ilist)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: December 1995
 
-  ## A. S. Hodel Dec. 1995, 1998
+function str_val = outlist (name_list, tabchar, yd, ilist)
 
   ## save for restore later
   save_empty = empty_list_elements_ok;
--- a/scripts/control/packsys.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/packsys.m	Sat Dec 18 04:21:52 1999 +0000
@@ -27,11 +27,12 @@
 ## 
 ## Note: discrete-state sampling time is not included!
 
-function Asys = packsys (a, b, c, d, dflg)
+## Author: R. Bruce Tenison <btenison@eng.auburn.edu>
+## Created: July 29, 1994
+## Modified by David Clem November 13, 1994
+## Modified by A. S. Hodel April 1995
 
-  ## Written by R. Bruce Tenison  July 29, 1994
-  ## Modified by David Clem November 13, 1994
-  ## Modified by A. S. Hodel April 1995
+function Asys = packsys (a, b, c, d, dflg)
 
   warning("packsys is obsolete!  Use ss2sys instead.");
   
--- a/scripts/control/parallel.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/parallel.m	Sat Dec 18 04:21:52 1999 +0000
@@ -29,11 +29,12 @@
 ##              --------------------
 ##                   Ksys
 
-function sysp = parallel (Asys, Bsys)
+## Author: David Clem
+## Created: August 15, 1994
+## completely rewritten Oct 1996 a s hodel
+## SYS_INTERNAL accesses members of system structure
 
-  ## Written by David Clem August 15, 1994
-  ## completely rewritten Oct 1996 a s hodel
-  ## SYS_INTERNAL accesses members of system structure
+function sysp = parallel (Asys, Bsys)
 
   if(nargin != 2)
     usage("sysp = parallel(Asys,Bsys)");
--- a/scripts/control/place.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/place.m	Sat Dec 18 04:21:52 1999 +0000
@@ -24,25 +24,25 @@
 ## 
 ## Version: Beta (May-1997): If you have any comments, please let me know.
 ## 			    (see the file place.m for my address)
-## 
-## Written by: Jose Daniel Munoz Frias.
 ## @end deftypefn
- 
-function K = place (sys, P) 
 
-  ## Universidad Pontificia Comillas
-  ## ICAIdea
-  ## Alberto Aguilera, 23
-  ## 28015 Madrid, Spain
-  ##
-  ## E-Mail: daniel@dea.icai.upco.es
-  ##
-  ## Phone: 34-1-5422800   Fax: 34-1-5596569
-  ##
-  ## Algorithm taken from "The Control Handbook", IEEE press pp. 209-212
-  ##
-  ## code adaped by A.S.Hodel (a.s.hodel@eng.auburn.edu) for use in controls
-  ## toolbox
+## Author: Jose Daniel Munoz Frias
+ 
+## Universidad Pontificia Comillas
+## ICAIdea
+## Alberto Aguilera, 23
+## 28015 Madrid, Spain
+##
+## E-Mail: daniel@dea.icai.upco.es
+##
+## Phone: 34-1-5422800   Fax: 34-1-5596569
+##
+## Algorithm taken from "The Control Handbook", IEEE press pp. 209-212
+##
+## code adaped by A.S.Hodel (a.s.hodel@eng.auburn.edu) for use in controls
+## toolbox
+
+function K = place (sys, P) 
 
   sav_val = empty_list_elements_ok;
   empty_list_elements_ok = 1;
--- a/scripts/control/polyout.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/polyout.m	Sat Dec 18 04:21:52 1999 +0000
@@ -29,11 +29,12 @@
 ##  See also: polyval, polyvalm, poly, roots, conv, deconv, residue, 
 ##	filter, polyderiv, polyinteg
 
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: May 1995
+## Nov 1998: Correctly handles complex coefficients
+  
 function y = polyout (c, x)
 
-## Written by A. Scottedward Hodel (scotte@eng.auburn.edu) May 1995)
-## Nov 1998: Correctly handles complex coefficients
-  
   if (nargin < 1 ) || (nargin > 2) || (nargout < 0 ) || (nargout > 1)
     usage("[y = ] polyout(c,[x])");
   endif
--- a/scripts/control/prompt.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/prompt.m	Sat Dec 18 04:21:52 1999 +0000
@@ -22,13 +22,13 @@
 ##  function prompt([str])
 ##  Prompt user to continue
 ##  str: input string. Default value: "\n ---- Press a key to continue ---"
-##  Written by David Clem August 15, 1994
-##  Modified A. S. Hodel June 1995
-## 
-## 
 ## @end format
 ## @end deftypefn
  
+## Author: David Clem
+## Created: August 15, 1994
+## Modified A. S. Hodel June 1995
+
 function prompt (str)
 
   if(nargin > 1)
--- a/scripts/control/qzval.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/qzval.m	Sat Dec 18 04:21:52 1999 +0000
@@ -35,11 +35,12 @@
 ## @strong{Note} @code{qzval} is obsolete; use @code{qz} instead.
 ## @end deftypefn
  
-## A. S. Hodel July 1998
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: July 1998
 
 function lam = qzval (A, B)
 
   warning("qzval is obsolete; calling qz instead")
   lam = qz(A,B);
+
 endfunction
-
--- a/scripts/control/rldemo.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/rldemo.m	Sat Dec 18 04:21:52 1999 +0000
@@ -21,7 +21,8 @@
 ##Octave Controls toolbox demo: Root Locus demo
 ##@end deftypefn
  
-## Written by David Clem August 15, 1994
+## Author: David Clem
+## Created: August 15, 1994
 ## Updated by John Ingram December 1996
 
 function rldemo ()
--- a/scripts/control/rlocus.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/rlocus.m	Sat Dec 18 04:21:52 1999 +0000
@@ -40,16 +40,18 @@
 ## @end format
 ## @end deftypefn
 
-function [rldata, k_break, rlpol, gvec, real_ax_pts] = rlocus (sys, increment, min_k, max_k)
+## Author: David Clem
+## Author: R. Bruce Tenison <btenison@eng.auburn.edu>
+## Updated by Kristi McGowan July 1996 for intelligent gain selection
+## Updated by John Ingram July 1996 for systems
 
-  ## Convert the input to a transfer function if necessary
-  ## Written by Clem and Tenison
-  ## Updated by Kristi McGowan July 1996 for intelligent gain selection
-  ## Updated by John Ingram July 1996 for systems
+function [rldata, k_break, rlpol, gvec, real_ax_pts] = rlocus (sys, increment, min_k, max_k)
   
   if (nargin < 1) | (nargin > 4)
     usage("rlocus(sys[,inc,mink,maxk])");
   endif
+
+  ## Convert the input to a transfer function if necessary
   
   [num,den] = sys2tf(sys)		# extract numerator/denom polyomials
   lnum = length(num);      lden = length(den);
--- a/scripts/control/rotg.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/rotg.m	Sat Dec 18 04:21:52 1999 +0000
@@ -24,4 +24,5 @@
 function [c, s] = rotg (a, b)
 
   [c,s] = givens(a,b);
+
 endfunction
--- a/scripts/control/series.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/series.m	Sat Dec 18 04:21:52 1999 +0000
@@ -35,11 +35,12 @@
 ## Command:       syst=series(syst1,syst2)
 ## Forms the series representation of the two mu system arguments.
 
-## Written by David Clem August 15, 1994
+## Author: David Clem
+## Created: August 15, 1994
 
 function [a, b, c, d] = series (a1, b1, c1, d1, a2, b2, c2, d2)
 
-## If two arguments input, take care of mu system case
+  ## If two arguments input, take care of mu system case
 
   warning("series is superseded by sysmult; use sysmult instead.")
 
@@ -51,7 +52,7 @@
     muflag = 1;
   endif
 
-## If four arguments input, put two transfer functions in series
+  ## If four arguments input, put two transfer functions in series
 
   if(nargin == 4)
     a = conv(a1,c1);	% was conv1
@@ -59,11 +60,11 @@
     c = 0;
     d = 0;
 
-## Find series combination of 2 state space systems
+    ## Find series combination of 2 state space systems
 
   elseif((nargin == 8)||(muflag == 1))
 
-## check matrix dimensions
+    ## check matrix dimensions
   
     [n1,m1,p1] = abcddim(a1,b1,c1,d1);
     [n2,m2,p2] = abcddim(a2,b2,c2,d2);
@@ -72,21 +73,21 @@
       error("Incorrect matrix dimensions");
     endif
 
-## check to make sure the number of outputs of system1 equals the number
-## of inputs of system2
+    ## check to make sure the number of outputs of system1 equals the number
+    ## of inputs of system2
 
    if(p1 ~= m2)
      error("System 1 output / System 2 input connection sizes do not match");
    endif
 
-## put the two state space systems in series
+   ## put the two state space systems in series
 
     a = [a1, zeros(rows(a1),columns(a2));b2*c1, a2];
     b = [b1;b2*d1];
     c = [d2*c1, c2];
     d = [d2*d1];
 
-## take care of mu output
+    ## take care of mu output
 
     if(muflag == 1)
       a=ss2sys(a,b,c,d);
--- a/scripts/control/sortcom.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sortcom.m	Sat Dec 18 04:21:52 1999 +0000
@@ -35,9 +35,10 @@
 ## @end format
 ## @end deftypefn
 
-function [yy, idx] = sortcom (xx, opt)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: June 1995
 
-  ## Written by A. S. Hodel June 1995
+function [yy, idx] = sortcom (xx, opt)
 
   if( nargin < 1 | nargin > 2 )
      usage("yy = sortcom(xx[,opt]");
--- a/scripts/control/ss2sys.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/ss2sys.m	Sat Dec 18 04:21:52 1999 +0000
@@ -187,9 +187,10 @@
 ## 
 ## @end deftypefn
 
-function retsys = ss2sys (a, b, c, d, tsam, n, nz, stname, inname, outname, outlist)
+## Author: John Ingram <ingraje@eng.auburn.edu>
+## Created: July 20, 1996
 
-  ## Written by John Ingram (ingraje@eng.auburn.edu)  July 20, 1996
+function retsys = ss2sys (a, b, c, d, tsam, n, nz, stname, inname, outname, outlist)
 
   ## Test for correct number of inputs
   if ((nargin < 3) | (nargin > 11))
--- a/scripts/control/ss2tf.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/ss2tf.m	Sat Dec 18 04:21:52 1999 +0000
@@ -38,10 +38,11 @@
 ## @end format
 ## @end deftypefn
  
-function [num, den] = ss2tf (a, b, c, d)
+## Author: R. Bruce Tenison <btenison@eng.auburn.edu>
+## Created: June 24, 1994
+## a s hodel: modified to allow for pure gain blocks Aug 1996
 
-  ## Written by R. Bruce Tenison (June 24, 1994) btenison@eng.auburn.edu
-  ## a s hodel: modified to allow for pure gain blocks Aug 1996
+function [num, den] = ss2tf (a, b, c, d)
 
   ## Check args
   [n,m,p] = abcddim(a,b,c,d);
--- a/scripts/control/ss2zp.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/ss2zp.m	Sat Dec 18 04:21:52 1999 +0000
@@ -30,11 +30,12 @@
 ## @end format
 ## @end deftypefn
 
-function [zer, pol, k] = ss2zp (a, b, c, d)
+## Author: David Clem
+## Created: August 15, 1994
+## Hodel: changed order of output arguments to zer, pol, k. July 1996
+## a s hodel: added argument checking, allow for pure gain blocks aug 1996
 
-  ## Written by David Clem August 15, 1994
-  ## Hodel: changed order of output arguments to zer, pol, k. July 1996
-  ## a s hodel: added argument checking, allow for pure gain blocks aug 1996
+function [zer, pol, k] = ss2zp (a, b, c, d)
 
   if(nargin != 4)
     usage("[zer,pol,k] = ss2zp(a,b,c,d)");
--- a/scripts/control/starp.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/starp.m	Sat Dec 18 04:21:52 1999 +0000
@@ -49,9 +49,10 @@
 ## @end format
 ## @end deftypefn
 
-function sys = starp (P, K, ny, nu);
+## Author: Kai P. Mueller <mueller@ifr.ing.tu-bs.de>
+## Created: May 1998
 
-  ## Written by Kai Mueller May 1998
+function sys = starp (P, K, ny, nu);
 
   if((nargin != 2) && (nargin != 4))
     usage("sys = starp(P, K, ny, nu)");
--- a/scripts/control/step.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/step.m	Sat Dec 18 04:21:52 1999 +0000
@@ -46,10 +46,11 @@
  
 ## See also:  impulse, stepimp
 
-function [y, t] = step (sys, inp, tstop, n)
+## Author: Kai P. Mueller <mueller@ifr.ing.tu-bs.de>
+## Created: September 30, 1997
+## based on lsim.m of Scottedward Hodel
 
-## Written by Kai P. Mueller September 30, 1997
-## based on lsim.m of Scottedward Hodel
+function [y, t] = step (sys, inp, tstop, n)
 
   if((nargin < 1) || (nargin > 4))
     usage("[y, u] = step(sys[, inp, tstop, n])");
--- a/scripts/control/stepimp.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/stepimp.m	Sat Dec 18 04:21:52 1999 +0000
@@ -32,10 +32,11 @@
 
 ## See also: step, impulse
 
-function [y, t] = stepimp (sitype, sys, inp, tstop, n)
+## Author: Kai P. Mueller <mueller@ifr.ing.tu-bs.de>
+## Created: October 2, 1997
+## based on lsim.m of Scottedward Hodel
 
-  ## Written by Kai P. Mueller October 2, 1997
-  ## based on lsim.m of Scottedward Hodel
+function [y, t] = stepimp (sitype, sys, inp, tstop, n)
 
   if (sitype == 1)         IMPULSE = 0;
   elseif (sitype == 2)     IMPULSE = 1;
--- a/scripts/control/swap.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/swap.m	Sat Dec 18 04:21:52 1999 +0000
@@ -24,12 +24,14 @@
 ## @end format
 ## @end deftypefn
 
-function [a1, b1] = swap (a, b)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: July 24, 1992
+## Conversion to Octave R. Bruce Tenison July 4, 1994
 
-  ## A. S. Hodel July 24 1992
-  ## Conversion to Octave R. Bruce Tenison July 4, 1994
+function [a1, b1] = swap (a, b)
 
   a1 = b;
   b1 = a;
+
 endfunction
 
--- a/scripts/control/swapcols.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/swapcols.m	Sat Dec 18 04:21:52 1999 +0000
@@ -24,13 +24,15 @@
 ## @end format
 ## @end deftypefn
 
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: July 23, 1992
+## Conversion to Octave R. Bruce Tenison July 4, 1994
+
 function B = swapcols (A)
   
-  ## A. S. Hodel July 23, 1992
-  ## Conversion to Octave R. Bruce Tenison July 4, 1994
-
   m = length(A(1,:));
   idx = m:-1:1;
   B = A(:,idx);
+
 endfunction
 
--- a/scripts/control/swaprows.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/swaprows.m	Sat Dec 18 04:21:52 1999 +0000
@@ -24,13 +24,15 @@
 ## @end format
 ## @end deftypefn
 
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: July 23, 1992
+## Conversion to Octave R. Bruce Tenison July 4, 1994
+  
 function B = swaprows (A)
 
-  ## A. S. Hodel July 23, 1992
-  ## Conversion to Octave R. Bruce Tenison July 4, 1994
-  
   m = rows(A);
   idx = m:-1:1;
   B = A(idx,:);
+
 endfunction
 
--- a/scripts/control/sys2fir.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sys2fir.m	Sat Dec 18 04:21:52 1999 +0000
@@ -26,9 +26,10 @@
 
 ## See also: fir2sys
  
-function [c, tsam, inname, outname] = sys2fir (sys)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: July 1996
 
-  ## a s hodel July 1996
+function [c, tsam, inname, outname] = sys2fir (sys)
 
   ## let sys2tf do most of the work
 
--- a/scripts/control/sys2ss.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sys2ss.m	Sat Dec 18 04:21:52 1999 +0000
@@ -62,10 +62,11 @@
 ## @end example
 ## @end deftypefn
  
-function [a, b, c, d, tsam, n, nz, stname, inname, outname, yd] = sys2ss (sys)
+## Author: David Clem
+## Created: August 19, 1994
+## Updates by John Ingram July 14, 1996
 
-  ## Written by David Clem August 19, 1994
-  ## Updates by John Ingram July 14, 1996
+function [a, b, c, d, tsam, n, nz, stname, inname, outname, yd] = sys2ss (sys)
 
   if(nargin != 1)
     usage("[a,b,c,d,tsam,n,nz,stname,inname,outname,yd] = sys2ss(sys)")
--- a/scripts/control/sys2tf.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sys2tf.m	Sat Dec 18 04:21:52 1999 +0000
@@ -31,11 +31,13 @@
 ## @end example
 ## @end deftypefn
 
-function [num, den, tsam, inname, outname] = sys2tf (Asys)
-## Written by R. Bruce Tenison (June 24, 1994) btenison@eng.auburn.edu
+## Author: R. Bruce Tenison <btenison@eng.auburn.edu>
+## Created: June 24, 1994
 ## modified to make sys2tf by A. S. Hodel Aug 1995
 ## modified again for updated system format by John Ingram July 1996
 
+function [num, den, tsam, inname, outname] = sys2tf (Asys)
+
   if(nargin != 1)
     usage("[num,den,tsam,inname,outname] = sys2tf(Asys)");
   endif
--- a/scripts/control/sys2zp.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sys2zp.m	Sat Dec 18 04:21:52 1999 +0000
@@ -35,9 +35,10 @@
 ## @end example
 ## @end deftypefn
  
-function [zer, pol, k, tsam, inname, outname] = sys2zp (sys)
+## Author: John Ingram <ingraje@eng.auburn.edu>
+## Created: July 15, 1996
 
-  ## Created by John Ingram July 15 1996
+function [zer, pol, k, tsam, inname, outname] = sys2zp (sys)
 
   if(nargin != 1)
     usage("[zer,pol,k,tsam,inname,outname] = sys2zp(sys)");
--- a/scripts/control/sysadd.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sysadd.m	Sat Dec 18 04:21:52 1999 +0000
@@ -39,10 +39,11 @@
 ## @end example
 ## @end deftypefn
  
-function sys = sysadd (...)
+## Author: John Ingram <ingraje@eng.auburn.edu>
+## Created: July 1996
+## Updated for variable number of arguments July 1999 A. S. Hodel
 
-  ## Written by John Ingram July 1996
-  ## Updated for variable number of arguments July 1999 A. S. Hodel
+function sys = sysadd (...)
 
   if(nargin < 1)
     usage("sysadd: sys = sysysadd(Gsys{,Hsys, ...})");
--- a/scripts/control/sysappend.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sysappend.m	Sat Dec 18 04:21:52 1999 +0000
@@ -74,10 +74,11 @@
 ## 
 ## @end deftypefn
 
+## Author: John Ingram <ingraje@eng.auburn.edu>
+## Created: August 1996
+  
 function retsys = sysappend (sys, b, c, d, outname, inname, yd)
 
-  ## written by John Ingram August 1996
-  
   sav_empty_list_elements_ok = empty_list_elements_ok;
 
   empty_list_elements_ok = 1;
--- a/scripts/control/syschnames.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/syschnames.m	Sat Dec 18 04:21:52 1999 +0000
@@ -21,8 +21,11 @@
 ## Superseded by @code{syssetsignals}
 ## @end deftypefn
 
+## Author: John Ingram <ingraje@eng.auburn.edu>
+## Created: August 1996
+## updated by A. S. Hodel 1998
+
 function retsys = syschnames (sys, opt, list, names)
-## Written by John Ingram August 1996; updated by A. S. Hodel 1998
 
   retsys = syssetsignals(sys,opt,names,list);
 
--- a/scripts/control/syschtsam.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/syschtsam.m	Sat Dec 18 04:21:52 1999 +0000
@@ -22,8 +22,10 @@
 ## an error if sys is purely continuous time.
 ## @end deftypefn
  
+## Author: John Ingram <ingraje@eng.auburn.edu>
+## Created: August 1996
+
 function retsys = syschtsam (sys, tsam)
-## Written by John Ingram August 1996
 
   if (nargin != 2)
     usage("retsys = syschtsam(sys,tsam)");
--- a/scripts/control/sysconnect.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sysconnect.m	Sat Dec 18 04:21:52 1999 +0000
@@ -63,10 +63,11 @@
 ## 
 ## @end deftypefn
 
-function sys = sysconnect (sys, output_list, input_list, order, tol)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1995
+## modified by John Ingram July 1996
 
-  ## A. S. Hodel August 1995
-  ## modified by John Ingram July 1996
+function sys = sysconnect (sys, output_list, input_list, order, tol)
 
   if( (nargin < 3) | (nargin > 5) )
     usage("retsys = sysconnect(sys,output_list,input_list[,order,tol])");
--- a/scripts/control/syscont.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/syscont.m	Sat Dec 18 04:21:52 1999 +0000
@@ -36,9 +36,10 @@
 ## 
 ## @end deftypefn
  
-function [csys, Acd, Ccd] = syscont (sys)
+## Author: John Ingram <ingraje@eng.auburn.edu>
+## Created: August 1996
 
-  ## Written by John Ingram August 1996
+function [csys, Acd, Ccd] = syscont (sys)
 
   save_empty = empty_list_elements_ok;
   empty_list_elements_ok = 1;
--- a/scripts/control/syscont_disc.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/syscont_disc.m	Sat Dec 18 04:21:52 1999 +0000
@@ -39,9 +39,10 @@
 ## 
 ## @end deftypefn
  
-function [n_tot, st_c, st_d, y_c, y_d] = syscont_disc (sys)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: February 1997
 
-  ## Written by A. S. Hodel (a.s.hodel@eng.auburn.edu) Feb 1997
+function [n_tot, st_c, st_d, y_c, y_d] = syscont_disc (sys)
 
   ## get ranges for discrete/continuous states and outputs
   [nn,nz,mm,pp,yd] = sysdimensions(sys);
--- a/scripts/control/sysdimensions.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sysdimensions.m	Sat Dec 18 04:21:52 1999 +0000
@@ -67,34 +67,35 @@
 ## See also: sysgetsignals, sysgettsam
 
 function [n, nz, m, p, yd] = sysdimensions (sys, opt)
-if(nargout > 5 | nargin < 1 | nargin > 2)
-  usage("[n,nz,m,p[,yd]] = sysdimensions(sys{,opt})");
-elseif(!is_struct(sys))
-  usage("[n,nz,m,p] = sysdimensions(sys)");
-elseif(nargin == 1)
-  opt = "all";
-endif
+
+  if(nargout > 5 | nargin < 1 | nargin > 2)
+    usage("[n,nz,m,p[,yd]] = sysdimensions(sys{,opt})");
+  elseif(!is_struct(sys))
+    usage("[n,nz,m,p] = sysdimensions(sys)");
+  elseif(nargin == 1)
+    opt = "all";
+  endif
 
-n = sys.n;
-nz = sys.nz;
-m = length(sysgetsignals(sys,"in"));
-p = length(sysgetsignals(sys,"out"));
-yd = sys.yd;
-legal_options = list("all","cst","dst","st","in","out");
-legal_values = list(n,n,nz,n+nz,m,p);
+  n = sys.n;
+  nz = sys.nz;
+  m = length(sysgetsignals(sys,"in"));
+  p = length(sysgetsignals(sys,"out"));
+  yd = sys.yd;
+  legal_options = list("all","cst","dst","st","in","out");
+  legal_values = list(n,n,nz,n+nz,m,p);
 
-legal_opt = 0;
-for ii=1:length(legal_options)
-  if(strcmp(nth(legal_options,ii),opt))
-    n = nth(legal_values,ii);
-    legal_opt = 1;
-    if(ii > 1 & nargout > 1)
-      warning("opt=%s, %d output arguments requested",opt,nargout);
+  legal_opt = 0;
+  for ii=1:length(legal_options)
+    if(strcmp(nth(legal_options,ii),opt))
+      n = nth(legal_values,ii);
+      legal_opt = 1;
+      if(ii > 1 & nargout > 1)
+	warning("opt=%s, %d output arguments requested",opt,nargout);
+      endif
     endif
+  endfor
+  if(!legal_opt)
+    error("illegal option passed = %s",opt);
   endif
-endfor
-if(!legal_opt)
-  error("illegal option passed = %s",opt);
-endif
 
 endfunction
--- a/scripts/control/sysdisc.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sysdisc.m	Sat Dec 18 04:21:52 1999 +0000
@@ -36,19 +36,9 @@
  
 function [dsys, Adc, Cdc] = sysdisc (sys)
 
-  ## function [dsys,Adc,Cdc] = sysdisc(sys)
-  ## inputs: sys = system data structure
-  ## outputs:
-  ##    dsys: purely discrete portion of sys (returned empty if there is
-  ##          no purely discrete path from inputs to outputs)
-  ##    Adc, Cdc: connections from continuous states to discrete states/discrete
-  ##    outputs, respectively.
-  ##
-
   save_empty = empty_list_elements_ok;
   empty_list_elements_ok = 1;
 
-
   if (nargin != 1)
     usage("[dsys,Adc,Cdc] = sysdisc(sys)");
   elseif (!is_struct(sys))
--- a/scripts/control/sysdup.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sysdup.m	Sat Dec 18 04:21:52 1999 +0000
@@ -51,10 +51,11 @@
 ## 
 ## @end deftypefn
 
-function retsys = sysdup (Asys, output_list, input_list)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1995
+## modified by John Ingram July 1996
 
-  ## A. S. Hodel August 1995
-  ## modified by John Ingram July 1996
+function retsys = sysdup (Asys, output_list, input_list)
 
   if( nargin != 3)
     usage("retsys = sysdup(Asys,output_list,input_list)");
--- a/scripts/control/sysgroup.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sysgroup.m	Sat Dec 18 04:21:52 1999 +0000
@@ -46,15 +46,15 @@
 ## 
 ## @end deftypefn
  
-function sys = sysgroup (...)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1995
+## modified by John Ingram July 1996
+## A. S. Hodel: modified for variable number of arguments 1999
 
-  ## A. S. Hodel August 1995
-  ## modified by John Ingram July 1996
-  ## A. S. Hodel: modified for variable number of arguments 1999
+function sys = sysgroup (...)
 
   save_emp = empty_list_elements_ok;
   empty_list_elements_ok = 1;
-
     
   if(nargin < 1)
     usage("sys = sysgroup(Asys{,Bsys,...})");
--- a/scripts/control/sysidx.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sysidx.m	Sat Dec 18 04:21:52 1999 +0000
@@ -25,7 +25,7 @@
 ## outputs:
 ##   idxvec: vector of signal indices (appropriate for use with sysprune)
 
-## Written by A. S. Hodel, a.s.hodel@eng.auburn.edu
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
 
 function idxvec = sysidx (sys, sigtype, signamelist)
 
--- a/scripts/control/sysmin.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sysmin.m	Sat Dec 18 04:21:52 1999 +0000
@@ -32,7 +32,7 @@
 ##   cflg: is_controllable(retsys)
 ##   oflg: is_observable(retsys)
 
-## Written by A. S. Hodel a.s.hodel@eng.auburn.edu
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
 
 function [retsys, nc, no, cflg, oflg] = sysmin (sys, flg);
   
--- a/scripts/control/sysmult.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sysmult.m	Sat Dec 18 04:21:52 1999 +0000
@@ -32,10 +32,11 @@
 ## does not recognize discrete inputs).
 ## @end deftypefn
 
-function sys = sysmult (...)
+## Author: John Ingram <ingraje@eng.auburn.edu>
+## Created: July 1996
+## updated for variable number of arguments by A. S. Hodel July 1999
 
-  ## Written by John Ingram July 1996
-  ## updated for variable number of arguments by A. S. Hodel July 1999
+function sys = sysmult (...)
 
   if(nargin < 1)
     usage("sysmult: sys = sysmult(Asys{,Bsys,...})");
--- a/scripts/control/sysout.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sysout.m	Sat Dec 18 04:21:52 1999 +0000
@@ -39,9 +39,10 @@
 ## @end table
 ## @end deftypefn
  
-function retsys = sysout (sys, opt)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: 1995-1996
 
-  ## Written by A S Hodel: 1995-1996
+function retsys = sysout (sys, opt)
 
   if( (nargin < 1) || (nargin > 2) )
     usage("sysout(sys[,opt])");
--- a/scripts/control/sysprune.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sysprune.m	Sat Dec 18 04:21:52 1999 +0000
@@ -45,10 +45,11 @@
 ## @end deftypefn
 ## 
  
-function sys = sysprune (sys, output_idx, input_idx, state_idx)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1995
+## Updated by John Ingram 7-15-96
 
-  ## A. S. Hodel August 1995
-  ## Updated by John Ingram 7-15-96
+function sys = sysprune (sys, output_idx, input_idx, state_idx)
 
   if( nargin < 3 | nargin > 4  )
     usage("retsys = sysprune(sys,output_idx,input_idx{,state_idx})");
--- a/scripts/control/sysreorder.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sysreorder.m	Sat Dec 18 04:21:52 1999 +0000
@@ -30,10 +30,11 @@
 ##  desired locations.  
 ## @end deftypefn
  
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1995
+  
 function pv = sysreorder (vlen, list)
 
-  ## A. S. Hodel, Aug 1995
-  
   ## disp('sysreorder: entry')
   
   pv = 1:vlen;
--- a/scripts/control/sysrepdemo.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sysrepdemo.m	Sat Dec 18 04:21:52 1999 +0000
@@ -21,8 +21,8 @@
 ## Tutorial for the use of the system data structure functions.
 ## @end deftypefn
 
-## Octave Controls toolbox demo: System representation
-## Written by A. S. Hodel June 1995
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: June 1995
 ## Revised Aug 1995 for system data structure format
 
 function sysrepdemo ()
--- a/scripts/control/sysscale.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sysscale.m	Sat Dec 18 04:21:52 1999 +0000
@@ -41,10 +41,11 @@
 ## set appropriately in the returned value of @var{sys}.
 ## @end deftypefn
 
-function sys = sysscale (sys, outscale, inscale, outname, inname)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1995
+## modified by John Ingram 7-15-96
 
-  ## A. S. Hodel August 1995
-  ## modified by John Ingram 7-15-96
+function sys = sysscale (sys, outscale, inscale, outname, inname)
 
   if( (nargin < 3) || (nargin > 5)  )
     usage("retsys = sysscale(Asys,output_list,input_list{,inname,outname})");
--- a/scripts/control/syssetsignals.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/syssetsignals.m	Sat Dec 18 04:21:52 1999 +0000
@@ -86,9 +86,10 @@
 ## 
 ## @end deftypefn
 
-function retsys = syssetsignals (sys, opt, names, sig_idx)
+## Author: John Ingram <ingraje@eng.auburn.edu>
+## Created: August 1996
 
-  ## Written by John Ingram August 1996
+function retsys = syssetsignals (sys, opt, names, sig_idx)
 
   if (nargin < 3 | nargin > 4)
     usage("retsys=syssetsignals(sys,opt,names{,sig_idx})");
--- a/scripts/control/syssub.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/syssub.m	Sat Dec 18 04:21:52 1999 +0000
@@ -36,10 +36,11 @@
 ## @end example
 ## @end deftypefn
  
-function sys = syssub (...)
+## Author: John Ingram <ingraje@eng.auburn.edu>
+## Created: July 1996
+## updated for variable numbers of input arguments by July 1999 A. S. Hodel
 
-  ## Written by John Ingram July 1996
-  ## updated for variable numbers of input arguments by July 1999 A. S. Hodel
+function sys = syssub (...)
 
   if(nargin < 1)
     usage("syssub: sys = syssub(Gsys{,Hsys,...})");
--- a/scripts/control/sysupdate.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/sysupdate.m	Sat Dec 18 04:21:52 1999 +0000
@@ -48,9 +48,10 @@
 
 ## See also: tf2sys, ss2sys, zp2sys, sysout, sys2ss, sys2tf, sys2zp
 
-function sys = sysupdate (sys, opt)
+## Author: John Ingram <ingraje@eng.auburn.edu>
+## Created: July 9, 1996
 
-  ## Written by John Ingram  7-9-96
+function sys = sysupdate (sys, opt)
 
   ## check for correct number of inputs 
   if (nargin != 2)
--- a/scripts/control/tf2ss.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/tf2ss.m	Sat Dec 18 04:21:52 1999 +0000
@@ -42,9 +42,11 @@
 ## @end format
 ## @end deftypefn
 
+## Author: R. Bruce Tenison <btenison@eng.auburn.edu>
+## Created: June 22, 1994
+## mod A S Hodel July, Aug  1995
+
 function [a, b, c, d] = tf2ss (num, den)
-  ## Written by R. Bruce Tenison (June 22, 1994) btenison@eng.auburn.edu
-  ## mod A S Hodel July, Aug  1995
 
   if(nargin != 2)        error("tf2ss: wrong number of input arguments")
   elseif(isempty(num))   error("tf2ss: empty numerator");
--- a/scripts/control/tf2sys.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/tf2sys.m	Sat Dec 18 04:21:52 1999 +0000
@@ -50,10 +50,12 @@
 ## @end example
 ## @end deftypefn
 
+## Author: R. Bruce Tenison <btenison@eng.auburn.edu>
+## Created: July 29, 1994
+## Name changed to TF2SYS July 1995
+## updated for new system data structure format July 1996
+
 function outsys = tf2sys (num, den, tsam, inname, outname)
-  ## Written by R. Bruce Tenison  July 29, 1994
-  ## Name changed to TF2SYS July 1995
-  ## updated for new system data structure format July 1996
 
   ## Test for the correct number of input arguments
   if ((nargin < 2) || (nargin > 5))
--- a/scripts/control/tf2zp.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/tf2zp.m	Sat Dec 18 04:21:52 1999 +0000
@@ -28,8 +28,9 @@
 ## @end format
 ## @end deftypefn
 
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+
 function [zer, pol, k] = tf2zp (num, den)
-## Written by A. S. Hodel, etc.
 
   if(nargin == 2)
     if(length(den) > 1)          pol = roots(den);
@@ -41,4 +42,5 @@
 
   [a,b,c,d] = tf2ss(num,den);
   [dum,k] = tzero(a,b,c,d);
+
 endfunction
--- a/scripts/control/tfout.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/tfout.m	Sat Dec 18 04:21:52 1999 +0000
@@ -25,8 +25,10 @@
 ##  See also: polyval, polyvalm, poly, roots, conv, deconv, residue, 
 ##	filter, polyderiv, polyinteg, polyout
 
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: June 1995
+
 function tfout (num, denom, x)
-## Written by A. Scottedward Hodel (scotte@eng.auburn.edu) June 1995)
   
   save_empty = empty_list_elements_ok;
   empty_list_elements_ok = 1;
--- a/scripts/control/tzero.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/tzero.m	Sat Dec 18 04:21:52 1999 +0000
@@ -46,10 +46,11 @@
 ## @end enumerate
 ## @end deftypefn
 
-function [zer, gain] = tzero (A, B, C, D)
+## Author: R. Bruce Tenison <btenison@eng.auburn.edu>
+## Created: July 4, 1994
+## A. S. Hodel Aug 1995: allow for MIMO and system data structures
 
-  ## R. Bruce Tenison July 4, 1994
-  ## A. S. Hodel Aug 1995: allow for MIMO and system data structures
+function [zer, gain] = tzero (A, B, C, D)
 
   ## get A,B,C,D and Asys variables, regardless of initial form
   if(nargin == 4)
--- a/scripts/control/tzero2.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/tzero2.m	Sat Dec 18 04:21:52 1999 +0000
@@ -26,8 +26,10 @@
 ##@code{tzero} instead.
 ##@end deftypefn
 
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1993
+
 function zr = tzero2 (a, b, c, d, bal)
-## Written by A. S. Hodel (scotte@eng.auburn.edu) August 1993.
 
   if (nargin == 4)
     bal = "B";
--- a/scripts/control/ugain.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/ugain.m	Sat Dec 18 04:21:52 1999 +0000
@@ -28,13 +28,14 @@
 ## 
 ## @end deftypefn
 
-function outsys = ugain (n)
+## Author: Kai P. Mueller <mueller@ifr.ing.tu-bs.de>
+## Created: April 1998
 
-  ## Written by Kai P. Mueller April, 1998
-  ## Updates
+function outsys = ugain (n)
 
   if((nargin != 1) || (nargout > 1))
     usage("outsys = ugain(n)")
   endif
   outsys = ss2sys([],[],[],eye(n));
+
 endfunction
--- a/scripts/control/unpacksys.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/unpacksys.m	Sat Dec 18 04:21:52 1999 +0000
@@ -19,9 +19,10 @@
 ## [a,b,c,d] = unpacksys(sys)
 ## Obsolete.  Use sys2ss instead.
 
-function [a, b, c, d] = unpacksys (syst)
+## Author: David Clem
+## Created: August 19, 1994
 
-  ## Written by David Clem August 19, 1994
+function [a, b, c, d] = unpacksys (syst)
 
   warning("unpacksys obsolete; calling sys2ss");
   [a,b,c,d] = sys2ss(syst);
--- a/scripts/control/wgt1o.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/wgt1o.m	Sat Dec 18 04:21:52 1999 +0000
@@ -31,8 +31,10 @@
 ##  fc = Corner frequency (in Hz, *not* in rad/sec)
 ## @end deftypefn
  
+## Author: Kai P. Mueller <mueller@ifr.ing.tu-bs.de>
+## Created: September 30, 1997
+
 function wsys = wgt1o (vl, vh, fc)
-## Written by Kai P. Mueller September 30, 1997
 
   if (nargin != 3)
     usage("wsys = wgt1o(vl, vh, fc)");
--- a/scripts/control/zgfmul.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/zgfmul.m	Sat Dec 18 04:21:52 1999 +0000
@@ -28,11 +28,11 @@
 ## ZGEP: Hodel, "Computation of Zeros with Balancing," 1992, submitted to  LAA
 ## Generalized CG: Golub and Van Loan, "Matrix Computations, 2nd ed" 1989
 
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Conversion to Octave July 3, 1994
+  
 function y = zgfmul (a, b, c, d, x)
 
-  ## A. S. Hodel July 24 1992
-  ## Conversion to Octave July 3, 1994
-  
   [n,m] = size(b);
   [p,m1] = size(c);
   nm = n+m;
--- a/scripts/control/zgfslv.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/zgfslv.m	Sat Dec 18 04:21:52 1999 +0000
@@ -21,9 +21,10 @@
 ## solve system of equations for dense zgep problem
 ## @end deftypefn
  
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Converted to Octave by R Bruce Tenison, July 3, 1994
+
 function x = zgfslv (n, m, p, b)
-  ## Written by A. Scotte Hodel
-  ## Converted to Octave by R Bruce Tenison, July 3, 1994
 
   nmp = n+m+p;
   gam1 = (2*n)+m+p;    gam2 = n+p;     gam3 = n+m;
--- a/scripts/control/zginit.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/zginit.m	Sat Dec 18 04:21:52 1999 +0000
@@ -29,10 +29,11 @@
 ## ZGEP: Hodel, "Computation of Zeros with Balancing," 1992, submitted to  LAA
 ## Generalized CG: Golub and Van Loan, "Matrix Computations, 2nd ed" 1989
 
-function zz = zginit (a, b, c, d)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: July 24, 1992
+## Conversion to Octave by R. Bruce Tenison, July 3, 1994
 
-  ## A. S. Hodel July 24 1992
-  ## Conversion to Octave by R. Bruce Tenison, July 3, 1994
+function zz = zginit (a, b, c, d)
 
   [nn,mm] = size(b);
   [pp,mm] = size(d);
--- a/scripts/control/zgpbal.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/zgpbal.m	Sat Dec 18 04:21:52 1999 +0000
@@ -38,10 +38,11 @@
 ## ZGEP: Hodel, "Computation of Zeros with Balancing," 1992, submitted to  LAA
 ## Generalized CG: Golub and Van Loan, "Matrix Computations, 2nd ed" 1989
 
-function retsys = zgpbal (Asys)  
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: July 24, 1992
+## Conversion to Octave by R. Bruce Tenison July 3, 1994
 
-  ## A. S. Hodel July 24 1992
-  ## Conversion to Octave by R. Bruce Tenison July 3, 1994
+function retsys = zgpbal (Asys)  
 
   if( (nargin != 1) | (!is_struct(Asys)))
     usage("retsys = zgpbal(Asys)");
--- a/scripts/control/zgscal.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/zgscal.m	Sat Dec 18 04:21:52 1999 +0000
@@ -28,10 +28,11 @@
 ## ZGEP: Hodel, "Computation of Zeros with Balancing," 1992, submitted to  LAA
 ## Generalized CG: Golub and Van Loan, "Matrix Computations, 2nd ed" 1989
 
-function x = zgscal (a, b, c, d, z, n, m, p)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: July 24, 1992
+## Conversion to Octave R. Bruce Tenison July 3, 1994
 
-  ## A. S. Hodel July 24 1992
-  ## Conversion to Octave R. Bruce Tenison July 3, 1994
+function x = zgscal (a, b, c, d, z, n, m, p)
 
   ## initialize parameters:
   ## Givens rotations, diagonalized 2x2 block of F, gcg vector initialization
--- a/scripts/control/zgsgiv.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/zgsgiv.m	Sat Dec 18 04:21:52 1999 +0000
@@ -22,13 +22,15 @@
 ## No longer used in zero-balancing (zgpbal); kept for backward compatibility
 ## @end deftypefn
 
-function [a, b] = zgsgiv (c, s, a, b)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: July 29, 1992
+## Convertion to Octave by R. Bruce Tenison July 3, 1994
 
-  ## A. S. Hodel July 29, 1992
-  ## Convertion to Octave by R. Bruce Tenison July 3, 1994
+function [a, b] = zgsgiv (c, s, a, b)
 
   t1 = c*a + s*b;
   t2 = -s*a + c*b;
   a = t1;
   b = t2;
+
 endfunction
--- a/scripts/control/zgshsr.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/zgshsr.m	Sat Dec 18 04:21:52 1999 +0000
@@ -23,10 +23,11 @@
 ## Called by zgfslv
 ## @end deftypefn
 
-function x = zgshsr (y)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: July 24, 1992
+## Conversion to Octave by R. Bruce Tenison July 3, 1994
 
-  ## A. S. Hodel July 24, 1992
-  ## Conversion to Octave by R. Bruce Tenison July 3, 1994
+function x = zgshsr (y)
 
   if(!is_vector(y))
     error(sprintf("y(%dx%d) must be a vector",rows(y),columns(y)));
--- a/scripts/control/zp2ss.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/zp2ss.m	Sat Dec 18 04:21:52 1999 +0000
@@ -45,9 +45,10 @@
 ## @samp{k} is @code{zp}-form leading coefficient.
 ## @end deftypefn
  
-function [a, b, c, d] = zp2ss (zer, pol, k)
+## Author: David Clem
+## Created: August 15, 1994
 
-  ## Written by David Clem August 15, 1994
+function [a, b, c, d] = zp2ss (zer, pol, k)
 
   sav_val = empty_list_elements_ok;
   empty_list_elements_ok = 1;
--- a/scripts/control/zp2ssg2.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/zp2ssg2.m	Sat Dec 18 04:21:52 1999 +0000
@@ -23,9 +23,10 @@
 ##  a polynomial with those roots.
 ## @end deftypefn
 
-function [poly, rvals] = zp2ssg2 (rvals)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: August 1996
 
-  ## A. S. Hodel Aug 1996
+function [poly, rvals] = zp2ssg2 (rvals)
 
   ## locate imaginary roots (if any)
   cidx = find(imag(rvals));
--- a/scripts/control/zp2sys.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/zp2sys.m	Sat Dec 18 04:21:52 1999 +0000
@@ -52,9 +52,9 @@
 ## @end example
 ## @end deftypefn
  
-function outsys = zp2sys (zer, pol, k, tsam, inname, outname)
+## Modified by John Ingram  July 20, 1996  
 
-  ## Modified by John Ingram  July 20, 1996  
+function outsys = zp2sys (zer, pol, k, tsam, inname, outname)
 
   ## Test for the correct number of input arguments
   if ((nargin < 3) || (nargin > 6))
--- a/scripts/control/zp2tf.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/zp2tf.m	Sat Dec 18 04:21:52 1999 +0000
@@ -31,12 +31,13 @@
 ## @code{num/den} from the vectors of poles and zeros.
 ## @end deftypefn
 
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## (With help from students Ingram, McGowan.)
+
 function [num, den] = zp2tf (zer, pol, k)
 
   ## Find out whether data was entered as a row or a column vector and
-  ## convert to a column vector if necessary
-  ## Written by A. S. Hodel with help from students Ingram, McGowan.
-  ## a.s.hodel@eng.auburn.edu
+  ## convert to a column vector if necessary.
 
   [rp,cp] = size(pol);
   [rz,cz] = size(zer);
--- a/scripts/control/zpout.m	Sat Dec 18 03:02:45 1999 +0000
+++ b/scripts/control/zpout.m	Sat Dec 18 04:21:52 1999 +0000
@@ -25,9 +25,10 @@
 ##  See also: polyval, polyvalm, poly, roots, conv, deconv, residue, 
 ##	filter, polyderiv, polyinteg, polyout 
 
-function zpout (zer, pol, k, x)
+## Author: A. S. Hodel <a.s.hodel@eng.auburn.edu>
+## Created: June 1995
 
-  ## Written by A. Scottedward Hodel (scotte@eng.auburn.edu) June 1995)
+function zpout (zer, pol, k, x)
 
   save_empty = empty_list_elements_ok;
   empty_list_elements_ok = 1;