c++ 多项式拟合polyfit实现 | 您所在的位置:网站首页 › eigen::vectorxd › c++ 多项式拟合polyfit实现 |
在numpy中有很方便的多项式拟合函数,c++中则没有,需要自己实现。 在网上参考了一些,但是都不能令人满意,其中有借用Opencv的,我就做一个曲线拟合,引入庞大的Opencv有点小题大做了。 也有使用Eigen库的,这个还差强人意,先记录下来。 double polyeval(Eigen::VectorXd coeffs, double x) { double result = 0.0; for (int i = 0; i < coeffs.size(); i++) {result += coeffs[i]*pow(x, i);} return result; } Eigen::VectorXd polyfit(Eigen::VectorXd xvals, Eigen::VectorXd yvals, int order) { assert(xvals.size() == yvals.size()); assert(order >= 1 && order |
CopyRight 2018-2019 实验室设备网 版权所有 |