output_fcn.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 
38 
39 
40 
42 
43 
44 //
45 // PUBLIC MEMBER FUNCTIONS:
46 //
47 
49 {
50 }
51 
52 
54 {
55 }
56 
57 
59 {
60 }
61 
62 
64 {
65  if ( this != &rhs )
66  {
67  Function::operator=( rhs );
68  }
69 
70  return *this;
71 }
72 
73 
75  )
76 {
77  Operator* componentOperator = getExpression( componentIdx );
78 
79  Expression tmp;
80 
81  if ( componentOperator != 0 )
82  {
83  tmp = *componentOperator;
84  delete componentOperator;
85  }
86 
87  return Output( tmp,componentIdx );
88 }
89 
90 
91 returnValue OutputFcn::evaluate( double *x, double *_result ){
92 
93  return Function::evaluate( 0, x, _result );
94 }
95 
96 
97 
99  const VariablesGrid *xa,
100  const VariablesGrid *p ,
101  const VariablesGrid *u ,
102  const VariablesGrid *w ,
103  VariablesGrid *_result ){
104 
105  int run1;
106 
107  OCPiterate iter( x, xa, p, u, w );
108  const int N = iter.getNumPoints();
109  _result->init( getDim(), iter.getGrid() );
110 
111  EvaluationPoint z( *this, iter );
112 
113  for( run1 = 0; run1 < N; run1++ ){
114 
115  z.setZ( run1, iter );
116  _result->setVector( run1, Function::evaluate(z) );
117  }
118 
119  return SUCCESSFUL_RETURN;
120 }
121 
122 
123 
125  const int &number ){
126 
127  return Function::evaluate( x, number );
128 }
129 
130 
131 
132 
133 //
134 // PROTECTED MEMBER FUNCTIONS:
135 //
136 
137 
138 
139 
140 
142 
143 // end of file.
#define N
Data class for storing generic optimization variables.
Definition: ocp_iterate.hpp:57
Allows to setup and evaluate a general function based on SymbolicExpressions.
Definition: function_.hpp:59
returnValue evaluate(double *x, double *_result)
Definition: output_fcn.cpp:91
Allows to setup and evaluate output functions based on SymbolicExpressions.
Definition: output_fcn.hpp:55
Abstract base class for all scalar-valued symbolic operators.
Definition: operator.hpp:60
Provides a time grid consisting of vector-valued optimization variables at each grid point...
Allows to pass back messages to the calling function.
virtual ~OutputFcn()
Definition: output_fcn.cpp:58
DVector evaluate(const EvaluationPoint &x, const int &number=0)
Definition: function.cpp:520
returnValue setZ(const uint &idx, const OCPiterate &iter)
Allows to setup function evaluation points.
BEGIN_NAMESPACE_ACADO typedef unsigned int uint
Definition: acado_types.hpp:42
#define CLOSE_NAMESPACE_ACADO
uint getNumPoints() const
returnValue getExpression(Expression &expression) const
Definition: function.cpp:139
OutputFcn & operator=(const OutputFcn &rhs)
Definition: output_fcn.cpp:63
Base class for all variables within the symbolic expressions family.
Definition: expression.hpp:56
returnValue setVector(uint pointIdx, const DVector &_values)
int getDim() const
Function & operator=(const Function &rhs)
Definition: function.cpp:78
returnValue init()
void rhs(const real_t *x, real_t *f)
Grid getGrid() const
#define BEGIN_NAMESPACE_ACADO
Output operator()(uint componentIdx)
Definition: output_fcn.cpp:74


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