1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
+
+
+
|
#!/bin/sh
# Generates function header for a computer language
# PJ Gawthrop May 1998
###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
## Revision 1.1 1998/05/23 16:17:40 peterg
## Initial revision
##
###############################################################
# Set up the language specific stuff
system=$1
rep=$2
language=$3
|
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
|
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
111
112
|
-
-
-
-
+
+
+
+
-
+
-
+
+
+
+
+
|
# Declarations
$MATRIX -q <<EOF
%System structure
[nx,ny,nu,nz,nyz] = $1_def;
printf("$Lc Declare standard arrays $Rc\n");
printf(" extern double y[%i]; \t $Lc $1_ode output $Rc\n", ny+1);
printf(" extern double dx[%i]; \t $Lc $1_ode state derivative $Rc\n", nx+1);
printf(" extern double x[%i]; \t $Lc $1_ode state $Rc\n", nx+1);
printf(" extern double u[%i]; \t $Lc $1_ode input $Rc\n\n", nu+1);
printf(" extern double mtty[%i]; \t $Lc $1_ode output $Rc\n", ny+1);
printf(" extern double mttdx[%i]; \t $Lc $1_ode state derivative $Rc\n", nx+1);
printf(" extern double mttx[%i]; \t $Lc $1_ode state $Rc\n", nx+1);
printf(" extern double mttu[%i]; \t $Lc $1_ode input $Rc\n\n", nu+1);
printf("$Lc Dummy variable list $Rc\n");
printf(" double t0;\n\n");
printf("$Lc State variable list $Rc\n");
for i = 1:nx
printf(" double mttx%i\n",i);
printf(" double mttx%i;\n",i);
end;
printf("\n");
printf("$Lc State variable input list $Rc\n");
for i = 1:nu
printf(" double mttu%i\n",i);
printf(" double mttu%i;\n",i);
end;
printf("\n");
printf("$Lc Counter $Rc\n");
printf(" int i;\n");
printf("\n");
printf("$Lc Time $Rc\n");
printf(" double t;\n");
printf("\n");
EOF
fi
# Any extra bits ..
if [ -n "$extras" ]; then
|
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
-
+
|
# Use octave for this bit - needs the definition file
$MATRIX -q <<EOF
%System structure
[nx,ny,nu,nz,nyz] = $1_def;
printf("$Lc====== Read in the input ======$Rc\n");
printf("mttu = $1_input(mttx,t)\n");
printf("mttu = $1_input(mttx,t);\n");
printf("\n");
printf("$Lc====== Set up the state variables ======$Rc\n");
for i = 1:nx
printf(" mttx%i = mttx$Lb%i$Rb;\n",i,i);
end;
|