非线性方程求解器
更多...
#include <rmvl/algorithm/numcal.hpp>
|
| 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\)
|
|
|
std::function< double(double)> | func |
| 非线性方程函数对象
|
|
◆ 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)\) |
- 注解
- 可以是函数指针、函数对象、lambda 表达式等,可隐式转换为
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 |
该类的文档由以下文件生成: