symbolic_matrix_inversion.cpp
Go to the documentation of this file.
1 /*
2  * This file is part of ACADO Toolkit.
3  *
4  * ACADO Toolkit -- A Toolkit for Automatic Control and Dynamic Optimization.
5  * Copyright (C) 2008-2014 by Boris Houska, Hans Joachim Ferreau,
6  * Milan Vukov, Rien Quirynen, KU Leuven.
7  * Developed within the Optimization in Engineering Center (OPTEC)
8  * under supervision of Moritz Diehl. All rights reserved.
9  *
10  * ACADO Toolkit is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License as published by the Free Software Foundation; either
13  * version 3 of the License, or (at your option) any later version.
14  *
15  * ACADO Toolkit is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  * Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with ACADO Toolkit; if not, write to the Free Software
22  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23  *
24  */
25 
26 
27 
34 #include <time.h>
35 
40 
41 
42 
47 /* >>> start tutorial code >>> */
48 int main( ){
49 
50 
52 
53  // DEFINE VALRIABLES:
54  // ---------------------------
55  DVector b(3) ;
56  DifferentialState x("", 2, 2);
57  Function f ;
58 
59 
60  // DEFINE THE VECTOR AND MATRIX ENTRIES:
61  // -------------------------------------
62  b(0) = 1.0; b(1) = 1.0; b(2) = 1.0;
63 
64 
65  // DEFINE A TEST FUNCTION:
66  // -----------------------
67  f << x.getInverse();
68 
69 
70  // TEST THE FUNCTION f:
71  // --------------------
72  EvaluationPoint zz(f);
73 
74  DVector xx(4);
75 
76  xx(0) = 2.0;
77  xx(1) = 0.1;
78  xx(2) = 0.0;
79  xx(3) = 2.0;
80 
81  zz.setX( xx );
82 
83  // EVALUATE f AT THE POINT (tt,xx):
84  // ---------------------------------
85  std::cout << "f: " << std::endl << f.evaluate( zz ) << std::endl;
86 
87  return 0;
88 }
89 /* <<< end tutorial code <<< */
90 
91 
Allows to setup and evaluate a general function based on SymbolicExpressions.
Definition: function_.hpp:59
#define USING_NAMESPACE_ACADO
DVector evaluate(const EvaluationPoint &x, const int &number=0)
Definition: function.cpp:520
Allows to setup function evaluation points.
returnValue setX(const DVector &x)
Expression getInverse() const
Definition: expression.cpp:490


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