NuTo
Numerics Tool
PolynomialLeastSquaresFitting.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <vector>
4 #include "SupportPoints.h"
5 
6 namespace NuTo
7 {
9 {
10 public:
13  void AddBoundaryCondition(std::pair<double, double> boundaryCondition);
14 
18  void AddBoundaryCondition(double x, double y);
19 
21  void BuildDerived();
22 
25  Eigen::VectorXd GetPolynomialCoefficients() const;
26 
29  void SetDegree(int degree);
30 
34  void SolveTransformed(const Eigen::MatrixXd& inputCoordinates, Eigen::MatrixXd& outputCoordinates) const;
35 
36  void SetSupportPoints(int dimInput, int dimOutput, Eigen::MatrixXd inputCoordinates,
37  Eigen::MatrixXd outputCoordinates);
38 
39 private:
40  SupportPoints mSupportPoints;
41  Eigen::VectorXd mPolynomialCoeffs;
42  std::vector<std::pair<double, double>> mBoundaryConditions;
43  int mDegree = -1;
44 };
45 
46 } // namespace NuTo
Definition: PolynomialLeastSquaresFitting.h:8
void AddBoundaryCondition(std::pair< double, double > boundaryCondition)
Adds a pair of x and y coordinates that should be matched by the polynomial.
Definition: PolynomialLeastSquaresFitting.cpp:8
Eigen::VectorXd GetPolynomialCoefficients() const
Gets the calculated polynomial coefficients.
Definition: PolynomialLeastSquaresFitting.cpp:70
stores the support points
Definition: SupportPoints.h:10
int dimOutput
Definition: NeuralNetwork.py:15
void BuildDerived()
determine regression parameters
Definition: PolynomialLeastSquaresFitting.cpp:22
void SolveTransformed(const Eigen::MatrixXd &inputCoordinates, Eigen::MatrixXd &outputCoordinates) const
calculate approximation (in transformed space)
Definition: PolynomialLeastSquaresFitting.cpp:82
Definition: Exception.h:6
int dimInput
Definition: NeuralNetwork.py:14
void SetSupportPoints(int dimInput, int dimOutput, Eigen::MatrixXd inputCoordinates, Eigen::MatrixXd outputCoordinates)
Definition: PolynomialLeastSquaresFitting.cpp:108
void SetDegree(int degree)
Sets the degree of the polynomial.
Definition: PolynomialLeastSquaresFitting.cpp:75