19Eigen::VectorXd polyfit_Eigen(std::vector<double> x,
const Eigen::VectorXd &y,
int degree)
22 Eigen::MatrixXd A = Eigen::MatrixXd::NullaryExpr(x.size(), degree + 1, [&x](Eigen::Index i, Eigen::Index j)
23 { return std::pow(x[i], j); });
25 return A.bdcSvd(Eigen::ComputeThinU | Eigen::ComputeThinV).solve(y);
34std::vector<T> polyDerivatives(std::vector<T> &coefficients)
36 std::vector<T> derivativeCoefficients;
37 for (
size_t degree = 0; degree < coefficients.size(); degree++)
39 derivativeCoefficients.push_back((degree)*coefficients.at(degree));
42 return derivativeCoefficients;
52std::vector<T> polyVal(std::vector<T> &coefficients, std::vector<T> &xValues)
54 std::vector<T> yValues;
58 for (
size_t degree = 0; degree < coefficients.size(); degree++)
60 y += pow(x, degree) * coefficients.at(degree);