Differences From Artifact [df171652b5]:

To Artifact [3f6f2d7c37]:


11
12
13
14
15
16
17




18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53


54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# Copyright (c) P.J.Gawthrop, 1996.

###############################################################
## Version control history
###############################################################
## $Id$
## $Log$




## 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

if [ "$2" = "" ]; 
then
  PARAMS='T=[0:0.1:10];x0=zeros(nx+nz,1);dx0=zeros(nx+nz,1);'
  echo Using default parameter $PARAMS
else
  PARAMS=$2;
fi

PARAMS="$PARAMS ;"


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

  %Read the parameters
  $1_numpar;

  [nx,ny,nu,nz,nyz] = $1_def;


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

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

  if exist('x0')==0
    x0 = zeros(nx+nz,1);
  end;

  if exist('dx0')==0
   dx0 = zeros(nx+nz,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;
  for tt=T'
    i=i+1;
    y(i,:) = $1_daeo(x(i,:),tt)';
  end;
  write_matrix([T,y], '$1_daeso');
end;

EOF

# Test for errors and print if any
err_length=$(wc -c <mtt_error)
if [ $err_length != "0" ]
then
  echo MTT has failed with the following errors '...'
  cat mtt_error
  exit 1
else
  exit 0
fi














>
>
>
>



















<
<
<
<
<
<
<

<
<
<
|





>
>

<







|



|








|
|
















<
<
<
|
<
|
|
<
<
<







11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40







41



42
43
44
45
46
47
48
49
50

51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88



89

90
91



92
93
94
95
96
97
98
# Copyright (c) P.J.Gawthrop, 1996.

###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
# 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

  %Read the parameters
  $1_numpar;

  [nx,ny,nu,nz,nyz] = $1_def;
  NX = nx+2*nz+nyz;

  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;
  for tt=T'
    i=i+1;
    y(i,:) = $1_daeo(x(i,:),tt)';
  end;
  write_matrix([T,y], '$1_daeso');
end;

EOF




# Now invoke the standard error handling.

mtt_error mtt_error.txt












MTT: Model Transformation Tools
GitHub | SourceHut | Sourceforge | Fossil RSS ]