Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00035 #include <acado_integrators.hpp>
00036
00037
00052 int main( ){
00053
00054 USING_NAMESPACE_ACADO
00055
00056
00057
00058
00059
00060
00061 DifferentialState y1;
00062 DifferentialState y2;
00063 DifferentialState y3;
00064
00065 DifferentialStateDerivative dy1;
00066 DifferentialStateDerivative dy2;
00067 DifferentialStateDerivative dy3;
00068
00069 Parameter p1;
00070 Parameter p2;
00071 Parameter p3;
00072
00073
00074 DifferentialEquation f;
00075
00076 f << dy1 + p1*y1 - p2*y2*y3 ;
00077 f << dy2 - p1*y1 + p2*y2*y3 + p3*y2*y2 ;
00078 f << dy3 - p3*y2*y2 ;
00079
00080
00081
00082
00083
00084 IntegratorBDF integrator(f);
00085 integrator.set(INTEGRATOR_PRINTLEVEL, MEDIUM );
00086
00087 integrator.set(INTEGRATOR_TOLERANCE, 1e-5 );
00088 integrator.set(ABSOLUTE_TOLERANCE, 1e-6 );
00089
00090 integrator.set(MAX_NUM_INTEGRATOR_STEPS, 2000 );
00091
00092
00093
00094
00095
00096
00097
00098
00099 double x0[3] = { 1.0, 0.0, 0.0 };
00100 double pp[3] = { 0.04, 1e+4, 3e+7 };
00101
00102 double t0 = 0.0 ;
00103 double tend = 4e9;
00104
00105
00106
00107
00108
00109
00110
00111
00112 integrator.integrate( t0, tend, x0, 0, pp );
00113
00114
00115
00116
00117
00118
00119
00120 VariablesGrid differentialStates;
00121 integrator.getX( differentialStates );
00122
00123 differentialStates.print( "x" );
00124
00125
00126 return 0;
00127 }
00128
00129
00130