| RMVL 2.4.0 Robotic Manipulation and Vision Library

载入中...
搜索中...
未找到
Public 成员函数 | 所有成员列表
rm::CurveFitter类 参考
数学、算法模块 » 数据与信号处理 » 数值计算模块

曲线拟合器 更多...

`#include <rmvl/algorithm/numcal.hpp>`

rm::CurveFitter 的协作图:

## Public 成员函数
| CurveFitter (const std::vector< double > &xs, const std::vector< double > &ys, std::bitset< 8 > order)
| 创建多项式曲线拟合器对象
double | operator() (double x) const
| 计算拟合的多项式曲线在指定点的函数值

## 详细描述

曲线拟合器

- 使用最小二乘法拟合曲线，详见 最小二乘法

## 构造及析构函数说明

## ◆ CurveFitter()

rm::CurveFitter::CurveFitter | ( | const std::vector< double > & | xs,
|  | const std::vector< double > & | ys,
|  | std::bitset< 8 > | order )

Python:
| rm.CurveFitter( | xs, ys, order | ) -> | <CurveFitter object>

创建多项式曲线拟合器对象

参数

  [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\]

## 成员函数说明

## ◆ operator()()

double rm::CurveFitter::operator() | ( | double | x | ) | const

Python:
| rm.CurveFitter.__call__( | x | ) -> | fval

计算拟合的多项式曲线在指定点的函数值

参数

  [in] | x | 指定点的 x 坐标

返回
  拟合的多项式曲线在指定点的函数值