18Eigen::VectorXd polyfit_Eigen(std::vector<double> x,
const Eigen::VectorXd &y,
int degree)
21 Eigen::MatrixXd A = Eigen::MatrixXd::NullaryExpr(x.size(), degree + 1, [&x](Eigen::Index i, Eigen::Index j)
22 { return std::pow(x[i], j); });
24 return A.bdcSvd(Eigen::ComputeThinU | Eigen::ComputeThinV).solve(y);
33std::vector<T> polyDerivatives(std::vector<T> &coefficients)
35 std::vector<T> derivativeCoefficients;
36 for (
size_t degree = 0; degree < coefficients.size(); degree++)
38 derivativeCoefficients.push_back((degree)*coefficients.at(degree));
41 return derivativeCoefficients;
51std::vector<T> polyVal(std::vector<T> &coefficients, std::vector<T> &xValues)
53 std::vector<T> yValues;
57 for (
size_t degree = 0; degree < coefficients.size(); degree++)
59 y += pow(x, degree) * coefficients.at(degree);