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
|
# Copyright (c) P.J.Gawthrop, 1996.
###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
## Revision 1.1 1996/08/15 16:24:55 peter
## Initial revision
##
###############################################################
echo Creating $1_daesol.m
rm -f dae2daesol_m.log
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 > dae2daesol_m.log
[nx,ny,nu,nz,nyz] = $1_def;
t=0; %Just in case its in the parameter list
$PARAMS
%Defaults
if exist('T')==0
|
>
>
>
>
|
>
|
>
>
|
|
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
|
# Copyright (c) P.J.Gawthrop, 1996.
###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
## 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
[nx,ny,nu,nz,nyz] = $1_def;
t=0; %Just in case its in the parameter list
$PARAMS
%Defaults
if exist('T')==0
|
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
end;
[n,m]=size(T);
if m>n
T=T';
end;
x = dassl('$1_dae', x0, dx0, T);
i=0;
for tt=T'
i=i+1;
y(i,:) = $1_daeo(x(i,:),tt)';
end;
write_matrix([T,y], '$1_daesol');
EOF
|
>
>
|
>
>
>
>
>
|
|
|
|
|
>
>
<
|
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
|
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
|