| RMVL 2.4.0 Robotic Manipulation and Vision Library

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

非线性方程求解器 更多...

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

rm::NonlinearSolver 的协作图:

## Public 成员函数
| NonlinearSolver ()=default
| NonlinearSolver (const std::function< double(double)> &f)
| 创建非线性方程求解器对象
double | operator() (double x0, double eps=1e-5, std::size_t max_iter=50) const
| 使用离散 Newton 迭代法求解非线性方程 \(f(x)=0\)

## Public 属性
std::function< double(double)> | func
| 非线性方程函数对象

## 详细描述

非线性方程求解器

- 使用离散 Newton 迭代法求解非线性方程，详见 非线性方程（组）数值解与迭代法

## 构造及析构函数说明

## ◆ NonlinearSolver() [1/2]

rm::NonlinearSolver::NonlinearSolver | ( |  | ) |
| default

Python:
| rm.NonlinearSolver( |  | ) -> | <NonlinearSolver object>
| rm.NonlinearSolver( | f | ) -> | <NonlinearSolver object>

## ◆ NonlinearSolver() [2/2]

rm::NonlinearSolver::NonlinearSolver | ( | const std::function< double(double)> & | f | ) |
| inline

Python:
| rm.NonlinearSolver( |  | ) -> | <NonlinearSolver object>
| rm.NonlinearSolver( | f | ) -> | <NonlinearSolver object>

创建非线性方程求解器对象

参数

  [in] | f | 非线性方程 \(f(x)=0\) 的函数对象 \(f(x)\)

注解
  - 可以是 double (*)(double) 函数指针，和其他可隐式转换为该函数指针的可调用对象等

## 成员函数说明

## ◆ operator()()

double rm::NonlinearSolver::operator() | ( | double | x0,
|  | double | eps = 1e-5,
|  | std::size_t | max_iter = 50 ) const

Python:
| rm.NonlinearSolver.__call__( | x0[, eps[, max_iter]] | ) -> | fval

使用离散 Newton 迭代法求解非线性方程 \(f(x)=0\)

参数

  [in] | x0 | 迭代初始值
  [in] | eps | 精度要求
  [in] | max_iter | 最大迭代次数

返回
  迭代结果

## 类成员变量说明

## ◆ func

std::function<double(double)> rm::NonlinearSolver::func

非线性方程函数对象