gaussian_noise.hpp
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 
33 #ifndef ACADO_TOOLKIT_GAUSSIAN_NOISE_HPP
34 #define ACADO_TOOLKIT_GAUSSIAN_NOISE_HPP
35 
36 
37 #include <acado/noise/noise.hpp>
38 
39 
41 
42 
53 class GaussianNoise : public Noise
54 {
55  //
56  // PUBLIC MEMBER FUNCTIONS:
57  //
58 
59  public:
60 
63  GaussianNoise( );
64 
72  GaussianNoise( const DVector& _mean,
73  const DVector& _variance
74  );
75 
83  GaussianNoise( uint _dim,
84  double _mean,
85  double _variance
86  );
87 
93  );
94 
97  virtual ~GaussianNoise( );
98 
104  );
105 
110  virtual GaussianNoise* clone( ) const;
111 
118  virtual GaussianNoise* clone( uint idx
119  ) const;
120 
121 
129  inline returnValue setMeans( const DVector& _mean
130  );
131 
139  inline returnValue setMeans( double _mean
140  );
141 
151  inline returnValue setMean( uint idx,
152  double _mean
153  );
154 
155 
163  inline returnValue setVariances( const DVector& _variance
164  );
165 
173  inline returnValue setVariances( double _variance
174  );
175 
185  inline returnValue setVariance( uint idx,
186  double _variance
187  );
188 
189 
201  virtual returnValue init( uint seed = 0
202  );
203 
204 
213  virtual returnValue step( DVector& _w
214  );
215 
225  virtual returnValue step( VariablesGrid& _w
226  );
227 
228 
233  inline const DVector& getMean( ) const;
234 
239  inline const DVector& getVariance( ) const;
240 
241 
242 
243  //
244  // PROTECTED MEMBER FUNCTIONS:
245  //
246  protected:
247 
256  double getGaussianRandomNumber( double _mean,
257  double _variance
258  ) const;
259 
260 
261  //
262  // PROTECTED MEMBERS:
263  //
264  protected:
265 
268 };
269 
270 
272 
273 
274 
275 #include <acado/noise/gaussian_noise.ipp>
276 
277 
278 #endif // ACADO_TOOLKIT_GAUSSIAN_NOISE_HPP
279 
280 
281 /*
282  * end of file
283  */
returnValue setMeans(const DVector &_mean)
Provides a time grid consisting of vector-valued optimization variables at each grid point...
Allows to pass back messages to the calling function.
const DVector & getVariance() const
Base class for generating pseudo-random noise for simulating the Process.
Definition: noise.hpp:56
BEGIN_NAMESPACE_ACADO typedef unsigned int uint
Definition: acado_types.hpp:42
returnValue setVariances(const DVector &_variance)
#define CLOSE_NAMESPACE_ACADO
virtual returnValue step(DVector &_w)
void rhs(const real_t *x, real_t *f)
Generates pseudo-random Gaussian noise for simulating the Process.
GaussianNoise & operator=(const GaussianNoise &rhs)
virtual returnValue init(uint seed=0)
virtual GaussianNoise * clone() const
#define BEGIN_NAMESPACE_ACADO
returnValue setVariance(uint idx, double _variance)
const DVector & getMean() const
double getGaussianRandomNumber(double _mean, double _variance) const
returnValue setMean(uint idx, double _mean)
virtual ~GaussianNoise()


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