| RMVL 2.4.0 Robotic Manipulation and Vision Library

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

函数插值器 更多...

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

rm::Interpolator 的协作图:

## Public 成员函数
| Interpolator ()=default
| Interpolator (const std::vector< double > &xs, const std::vector< double > &ys)
| 创建插值器对象，初始化差商表
Interpolator & | add (double x, double y)
| 添加新的插值节点
double | operator() (double x) const
| 计算插值多项式在指定点的函数值

## 详细描述

函数插值器

- 由于插值多项式具有唯一性，为了提高新增节点时算法的简易性，这里使用 Newton 插值多项式

## 构造及析构函数说明

## ◆ Interpolator() [1/2]

rm::Interpolator::Interpolator | ( |  | ) |
| default

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

## ◆ Interpolator() [2/2]

rm::Interpolator::Interpolator | ( | const std::vector< double > & | xs,
|  | const std::vector< double > & | ys )

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

创建插值器对象，初始化差商表

参数

  [in] | xs | 已知节点的 x 坐标 \(x_0,x_1,\cdots,x_n\)
  [in] | ys | 已知节点的 y 坐标 \(f(x_0),f(x_1),\cdots,f(x_n)\)

## 成员函数说明

## ◆ add()

Interpolator & rm::Interpolator::add | ( | double | x,
|  | double | y )

Python:
| rm.Interpolator.add( | x, y | ) -> | <rm.Interpolator object>

添加新的插值节点

参数

  [in] | x | 新的插值节点的 x 坐标
  [in] | y | 新的插值节点的 y 坐标 Interpolator interf; // 可以链式添加多个插值节点 interf.add(4, 16).add(5, 25).add(6, 36); rm::Interpolator::add Interpolator & add(double x, double y) 添加新的插值节点 rm::Interpolator::Interpolator Interpolator()=default

函数调用图:

## ◆ operator()()

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

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

计算插值多项式在指定点的函数值

参数

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

返回
  插值多项式在指定点的函数值