


% -*- texinfo -*-
% @deftypefn {Function File} {@var{sys} =} sysappend (@var{syst}, @var{b}, @var{c}, @var{d}, @var{outname}, @var{inname}, @var{yd})
% appends new inputs and/or outputs to a system
%
% @strong{Inputs}
% @table @var
% @item syst
% system data structure
%
% @item b
% matrix to be appended to sys 'B' matrix (empty if none)
%
% @item c
% matrix to be appended to sys 'C' matrix (empty if none)
%
% @item d
% revised sys d matrix (can be passed as [] if the revised d is all zeros)
%
% @item outname
% list of names for new outputs
%
% @item inname
% list of names for new inputs
%
% @item yd
% binary vector; @math{yd(ii)=0} indicates a continuous output;
% @math{yd(ii)=1} indicates a discrete output.
% @end table
%
% @strong{Outputs}
% @table @var
% @item sys
% @example
% @group
% sys.b := [syst.b , b]
% sys.c := [syst.c ]
% [ c ]
% sys.d := [syst.d | D12 ]
% [ D21 | D22 ]
% @end group
% @end example
% where @math{D12}, @math{D21}, and @math{D22} are the appropriate dimensioned
% blocks of the input parameter @var{d}.
% @itemize @bullet
% @item The leading block @math{D11} of @var{d} is ignored.
% @item If @var{inname} and @var{outname} are not given as arguments,
% the new inputs and outputs are be assigned default names.
% @item @var{yd} is a binary vector of length rows(c) that indicates
% continuous/sampled outputs. Default value for @var{yd} is:
% @itemize @minus
% @item @var{sys} is continuous or mixed
% @var{yd} = @code{zeros(1,rows(c))}
%
% @item @var{sys} is discrete
% @var{yd} = @code{ones(1,rows(c))}
% @end itemize
% @end itemize
% @end table
% @end deftypefn