RMVL  1.4.0-dev
Robotic Manipulation and Vision Library
载入中...
搜索中...
未找到
rm::NonlinearSolver类 参考

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

#include <rmvl/core/numcal.hpp>

rm::NonlinearSolver 的协作图:

Public 成员函数

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

详细描述

非线性方程求解器

构造及析构函数说明

◆ NonlinearSolver() [1/2]

rm::NonlinearSolver::NonlinearSolver ( )
default

◆ NonlinearSolver() [2/2]

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

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

参数
[in]f非线性方程 \(f(x)=0\) 的函数对象 \(f(x)\)
注解
  • 可以是函数指针、函数对象、lambda 表达式等,可隐式转换为 double (*)(double)

成员函数说明

◆ operator()()

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

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

参数
[in]x0迭代初始值
[in]eps精度要求
[in]max_iter最大迭代次数
返回
迭代结果

◆ operator=()

void rm::NonlinearSolver::operator= ( const std::function< double(double)> & f)
inline

修改非线性方程 \(f(x)=0\) 的函数对象

参数
[in]f非线性方程 \(f(x)=0\) 的函数对象 \(f(x)\)
注解
  • 可以是函数指针、函数对象、lambda 表达式等,可隐式转换为 double (*)(double)

该类的文档由以下文件生成: