RMVL
1.5.0-dev
Robotic Manipulation and Vision Library
|
曲线拟合器 更多...
#include <rmvl/core/numcal.hpp>
Public 成员函数 | |
CurveFitter (const std::vector< double > &xs, const std::vector< double > &ys, std::bitset< 8 > order) | |
创建多项式曲线拟合器对象 | |
double | operator() (double x) const |
计算拟合的多项式曲线在指定点的函数值 | |
曲线拟合器
rm::CurveFitter::CurveFitter | ( | const std::vector< double > & | xs, |
const std::vector< double > & | ys, | ||
std::bitset< 8 > | order ) |
创建多项式曲线拟合器对象
[in] | xs | 已知节点的 x 坐标列表 \(\text{xs}=\{x_0,x_1,\cdots,x_n\}\) |
[in] | ys | 已知节点的 y 坐标列表 \(\text{ys}=\{f(x_0),f(x_1),\cdots,f(x_n)\}\) |
[in] | order | 拟合曲线的阶数,参数从最 低 位到最 高 位依次为 \(a_0\) ~ \(a_7\),即 \[f(x)=a_0+a_1x+\cdots+a_7x^7\tag1\] 例如0b01000101 表示拟合曲线为 \[f(x)=a_0+a_2x^2+a_6x^6\tag2\] |
double rm::CurveFitter::operator() | ( | double | x | ) | const |
计算拟合的多项式曲线在指定点的函数值
[in] | x | 指定点的 x 坐标 |