interfaces/matlab/examples/code_generation/simulation/pendulum_export/model.c
Go to the documentation of this file.
1 
2 #include "acado_common.h"
3 
4 
5 void rhs( const real_t *x, real_t *f ){
6 const real_t* xd = x;
7 const real_t* xa = x + 6;
8 const real_t* u = x + 9;
9 
10 f[0] = xd[3];
11 f[1] = xd[4];
12 f[2] = xd[5];
13 f[3] = (xa[1]+u[0]);
14 f[4] = ((real_t)(-9.81)+xa[2]);
15 f[5] = xa[0];
16 f[6] = ((sin(xd[2]))-xd[0]);
17 f[7] = (((real_t)(0.)-(cos(xd[2])))-xd[1]);
18 f[8] = (((((real_t)(0.7)*xd[5])+(xa[1]*(cos(xd[2]))))+(xa[2]*(sin(xd[2]))))+xa[0]);
19 }
20 
21 
22 
23 void rhs_jac( const real_t *x, real_t *f ){
24 const real_t* xd = x;
25 const real_t* xa = x + 6;
26 
27 f[0] = (real_t)(0.);
28 f[1] = (real_t)(0.);
29 f[2] = (real_t)(0.);
30 f[3] = (real_t)(1.);
31 f[4] = (real_t)(0.);
32 f[5] = (real_t)(0.);
33 f[6] = (real_t)(0.);
34 f[7] = (real_t)(0.);
35 f[8] = (real_t)(0.);
36 f[9] = (real_t)(0.);
37 f[10] = (real_t)(0.);
38 f[11] = (real_t)(0.);
39 f[12] = (real_t)(0.);
40 f[13] = (real_t)(0.);
41 f[14] = (real_t)(1.);
42 f[15] = (real_t)(0.);
43 f[16] = (real_t)(0.);
44 f[17] = (real_t)(0.);
45 f[18] = (real_t)(0.);
46 f[19] = (real_t)(0.);
47 f[20] = (real_t)(0.);
48 f[21] = (real_t)(0.);
49 f[22] = (real_t)(0.);
50 f[23] = (real_t)(0.);
51 f[24] = (real_t)(0.);
52 f[25] = (real_t)(1.);
53 f[26] = (real_t)(0.);
54 f[27] = (real_t)(0.);
55 f[28] = (real_t)(0.);
56 f[29] = (real_t)(0.);
57 f[30] = (real_t)(0.);
58 f[31] = (real_t)(0.);
59 f[32] = (real_t)(0.);
60 f[33] = (real_t)(0.);
61 f[34] = (real_t)(0.);
62 f[35] = (real_t)(0.);
63 f[36] = (real_t)(0.);
64 f[37] = (real_t)(1.);
65 f[38] = (real_t)(0.);
66 f[39] = (real_t)(1.);
67 f[40] = (real_t)(0.);
68 f[41] = (real_t)(0.);
69 f[42] = (real_t)(0.);
70 f[43] = (real_t)(0.);
71 f[44] = (real_t)(0.);
72 f[45] = (real_t)(0.);
73 f[46] = (real_t)(0.);
74 f[47] = (real_t)(0.);
75 f[48] = (real_t)(1.);
76 f[49] = (real_t)(0.);
77 f[50] = (real_t)(0.);
78 f[51] = (real_t)(0.);
79 f[52] = (real_t)(0.);
80 f[53] = (real_t)(0.);
81 f[54] = (real_t)(0.);
82 f[55] = (real_t)(0.);
83 f[56] = (real_t)(1.);
84 f[57] = (real_t)(0.);
85 f[58] = (real_t)(0.);
86 f[59] = (real_t)(0.);
87 f[60] = ((real_t)(0.)-(real_t)(1.));
88 f[61] = (real_t)(0.);
89 f[62] = (cos(xd[2]));
90 f[63] = (real_t)(0.);
91 f[64] = (real_t)(0.);
92 f[65] = (real_t)(0.);
93 f[66] = (real_t)(0.);
94 f[67] = (real_t)(0.);
95 f[68] = (real_t)(0.);
96 f[69] = (real_t)(0.);
97 f[70] = (real_t)(0.);
98 f[71] = ((real_t)(0.)-(real_t)(1.));
99 f[72] = ((real_t)(0.)-((real_t)(-1.)*(sin(xd[2]))));
100 f[73] = (real_t)(0.);
101 f[74] = (real_t)(0.);
102 f[75] = (real_t)(0.);
103 f[76] = (real_t)(0.);
104 f[77] = (real_t)(0.);
105 f[78] = (real_t)(0.);
106 f[79] = (real_t)(0.);
107 f[80] = (real_t)(0.);
108 f[81] = (real_t)(0.);
109 f[82] = ((xa[1]*((real_t)(-1.)*(sin(xd[2]))))+(xa[2]*(cos(xd[2]))));
110 f[83] = (real_t)(0.);
111 f[84] = (real_t)(0.);
112 f[85] = (real_t)(0.7);
113 f[86] = (real_t)(1.);
114 f[87] = (cos(xd[2]));
115 f[88] = (sin(xd[2]));
116 f[89] = (real_t)(0.);
117 }
118 
119 
120 
121 void out( const real_t *x, real_t *f ){
122 const real_t* xd = x;
123 const real_t* xa = x + 6;
124 
125 f[0] = xa[1];
126 f[1] = xa[2];
127 }
128 
129 
130 
131 void out_jac( const real_t *x, real_t *f ){
132 const real_t* xd = x;
133 const real_t* xa = x + 6;
134 
135 f[0] = (real_t)(0.);
136 f[1] = (real_t)(0.);
137 f[2] = (real_t)(0.);
138 f[3] = (real_t)(0.);
139 f[4] = (real_t)(0.);
140 f[5] = (real_t)(0.);
141 f[6] = (real_t)(0.);
142 f[7] = (real_t)(1.);
143 f[8] = (real_t)(0.);
144 f[9] = (real_t)(0.);
145 f[10] = (real_t)(0.);
146 f[11] = (real_t)(0.);
147 f[12] = (real_t)(0.);
148 f[13] = (real_t)(0.);
149 f[14] = (real_t)(0.);
150 f[15] = (real_t)(0.);
151 f[16] = (real_t)(0.);
152 f[17] = (real_t)(0.);
153 f[18] = (real_t)(1.);
154 f[19] = (real_t)(0.);
155 }
USING_NAMESPACE_ACADO IntermediateState sin(const Expression &arg)
IntermediateState cos(const Expression &arg)
double real_t
Definition: AD_test.c:10


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:34:54