#! /bin/sh

     ###################################### 
     ##### Model Transformation Tools #####
     ######################################

# Bourne shell script: dae2daesol_m

# Transforms descriptor matrix rep to step response

# Copyright (c) P.J.Gawthrop, 1996.

###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
## Revision 1.6  1998/05/14 08:14:28  peterg
## Now reads in data from the simpar file.
##
## Revision 1.5  1998/05/13 16:42:03  peterg
## Fixed various bugs etc.
##
# Revision 1.4  1996/08/24  14:27:59  peter
# Global parameters.
# Error handling.
#
## Revision 1.3  1996/08/18 12:00:19  peter
## Unified format of responses.
##
## Revision 1.2  1996/08/16 13:17:57  peter
## Changed default args to include nx+nz
## Fixed bug with vector outputs.
##
## Revision 1.1  1996/08/15 16:24:55  peter
## Initial revision
##
###############################################################


echo Creating $1_daes.m
echo Creating $1_daeso.m
rm -f dae2daes_m.log
rm -f $1_daes.m
rm -f $1_daeso.m


$MATRIX << EOF > dae2daes_m.log 2>mtt_error.txt

  %System structure
  [nx,ny,nu,nz,nyz] = $1_def;
  
  % Number of descriptor "states"
  NX = nx+2*nz+nyz;

  %Read in parameters
  $1_numpar; 
 
  %Read in state (needs redoing for descriptor xevtor
  %x = $1_state;


  %Read in simulation parameters
  $1_simpar;
  T = [0:DT:LAST];

  t=0;  %Just in case its in the parameter list

  %Defaults
  if exist('T')==0
    T=[0:0.1:10]
  end;

  if exist('x0')==0
    x0 = zeros(NX,1);
  end;

  if exist('dx0')==0
   dx0 = zeros(NX,1);
  end;

  [n,m]=size(T);
  if m>n
    T=T';
  end;

if NX>0
  x = dassl("$1_dae", x0, dx0,  T);
  write_matrix([T,x], '$1_daes');
else
  x = zeros(size(T));
end;

if ny>0
  i=0;
  Y = [];
  for tt=T'
    i=i+1;
    y = $1_daeo(x(i,:),tt)';
    Y = [Y; y'];
  end;
  write_matrix([T,Y], '$1_daeso');
end;

EOF

# Now invoke the standard error handling.
mtt_error mtt_error.txt








