| RMVL 1.5.2 Robotic Manipulation and Vision Library

载入中...
搜索中...
未找到
类 | 命名空间 | 类型定义 | 枚举 | 函数
numcal.hpp 文件参考

Numerical Calculation Module 数值计算模块 更多...

`#include <bitset>`
`#include <cstdint>`
`#include <functional>`
`#include <vector>`
numcal.hpp 的引用(Include)关系图:
此图展示该文件被哪些文件直接或间接地引用了:

## 类
class | rm::Polynomial
| N 次多项式 更多...
class | rm::Interpolator
| 函数插值器 更多...
class | rm::CurveFitter
| 曲线拟合器 更多...
class | rm::NonlinearSolver
| 非线性方程求解器 更多...
class | rm::RungeKutta
| Butcher 表形式的常微分方程（组）数值求解器 更多...
class | rm::RungeKutta2
| 2 阶 2 级 Runge-Kutta 求解器 更多...
class | rm::RungeKutta3
| 3 阶 3 级 Runge-Kutta 求解器 更多...
class | rm::RungeKutta4
| 4 阶 4 级 Runge-Kutta 求解器 更多...
struct | rm::OptimalOptions
| 无约束多维函数优化选项 更多...

## 命名空间
namespace | rm

## 类型定义
using | rm::Ode = std::function<double(double, const std::vector<double> &)>
| 常微分方程
using | rm::Odes = std::vector<Ode>
| 常微分方程组
using | rm::Func1d = std::function<double(double)>
| 一元函数
using | rm::Func1ds = std::vector<Func1d>
| 一元函数组
using | rm::FuncNd = std::function<double(const std::vector<double> &)>
| 多元函数
using | rm::FuncNds = std::vector<FuncNd>
| 多元函数组

## 枚举
enum class | rm::DiffMode : uint8_t { rm::DiffMode::Central , rm::DiffMode::Ridders }
| 梯度/导数计算模式 更多...
enum class | rm::FminMode : uint8_t { rm::FminMode::ConjGrad , rm::FminMode::Simplex }
| 多维函数最优化模式 更多...

## 函数
double | rm::derivative (Func1d func, double x, DiffMode mode=DiffMode::Central, double dx=1e-3)
| 计算一元函数的导数
std::vector< double > | rm::grad (FuncNd func, const std::vector< double > &x, DiffMode mode=DiffMode::Central, double dx=1e-3)
| 计算多元函数的梯度
std::pair< double, double > | rm::region (Func1d func, double x0, double delta=1)
| 采用进退法确定搜索区间
std::pair< double, double > | rm::fminbnd (Func1d func, double x1, double x2, const OptimalOptions &options={})
| 一维函数最小值搜索
std::pair< std::vector< double >, double > | rm::fminunc (FuncNd func, const std::vector< double > &x0, const OptimalOptions &options={})
| 无约束多维函数的最小值搜索 [4] [8] ，可参考 多维无约束最优化方法
std::pair< std::vector< double >, double > | rm::fmincon (FuncNd func, const std::vector< double > &x0, const FuncNds &c, const FuncNds &ceq, const OptimalOptions &options={})
| 有约束多维函数的最小值搜索
std::vector< double > | rm::lsqnonlin (const FuncNds &funcs, const std::vector< double > &x0, const OptimalOptions &options={})
| 无约束非线性最小二乘求解

## 详细描述

Numerical Calculation Module 数值计算模块

作者
  zhaoxi (53539.nosp@m.4140.nosp@m.@qq.c.nosp@m.om)

版本
  1.0

日期
  2024-01-06

版权所有
  Copyright 2024 (c), zhaoxi