🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
非线性方程求解

详细描述

提供非线性方程求解相关功能

本模块提供了非线性方程求解功能,包括:

class  ast::BisectionSolver
 
class  ast::BrentqSolver
 
class  ast::BrenthSolver
 
class  ast::RidderSolver
 
class  ast::SecantSolver
 
struct  ast::SolverStats
 
class  ast::IUnarySolver
 
class  ast::UnarySolver
 

类型定义

typedef struct ast::SolverStats ast::SolverStats
 

函数

template<typename Func >
double ast::bisect (Func f, double xa, double xb, double xtol, double rtol, int iter, scipy_zeros_info &solver_stats)
 
template<typename Func >
double ast::ridder (Func f, double xa, double xb, double xtol, double rtol, int iter, scipy_zeros_info &solver_stats)
 
template<typename Func >
double ast::brenth (Func f, double xa, double xb, double xtol, double rtol, int iter, scipy_zeros_info &solver_stats)
 
template<typename Func >
double ast::brentq (Func f, double xa, double xb, double xtol, double rtol, int iter, scipy_zeros_info &solver_stats)
 
template<typename Func >
double ast::secant (Func f, double xa, double xb, double xtol, double rtol, int iter, scipy_zeros_info &solver_stats)
 

类型定义说明

◆ SolverStats

typedef struct ast::SolverStats ast::SolverStats

求解器统计信息

包含求解器调用次数、迭代次数、错误次数等统计信息

函数说明

◆ bisect()

template<typename Func >
double ast::bisect ( Func f,
double xa,
double xb,
double xtol,
double rtol,
int iter,
scipy_zeros_info & solver_stats )

二分法求解器

模板参数
Func函数对象
参数
f函数对象
xa区间下限
xb区间上限
xtol绝对误差 tolerance
rtol相对误差 tolerance
iter最大迭代次数
solver_stats求解器统计信息
返回
根近似值

◆ brenth()

template<typename Func >
double ast::brenth ( Func f,
double xa,
double xb,
double xtol,
double rtol,
int iter,
scipy_zeros_info & solver_stats )

Brenth法求解器

模板参数
Func函数对象
参数
f函数对象
xa区间下限
xb区间上限
xtol绝对误差 tolerance
rtol相对误差 tolerance
iter最大迭代次数
solver_stats求解器统计信息
返回
根近似值

◆ brentq()

template<typename Func >
double ast::brentq ( Func f,
double xa,
double xb,
double xtol,
double rtol,
int iter,
scipy_zeros_info & solver_stats )

Brentq法求解器

模板参数
Func函数对象
参数
f函数对象
xa区间下限
xb区间上限
xtol绝对误差 tolerance
rtol相对误差 tolerance
iter最大迭代次数
solver_stats求解器统计信息
返回
根近似值

◆ ridder()

template<typename Func >
double ast::ridder ( Func f,
double xa,
double xb,
double xtol,
double rtol,
int iter,
scipy_zeros_info & solver_stats )

Ridder 方法求解器

模板参数
Func函数对象
参数
f函数对象
xa区间下限
xb区间上限
xtol绝对误差 tolerance
rtol相对误差 tolerance
iter最大迭代次数
solver_stats求解器统计信息
返回
根近似值

◆ secant()

template<typename Func >
double ast::secant ( Func f,
double xa,
double xb,
double xtol,
double rtol,
int iter,
scipy_zeros_info & solver_stats )

割线法求解器

模板参数
Func函数对象
参数
f函数对象
xa区间下限
xb区间上限
xtol绝对误差 tolerance
rtol相对误差 tolerance
iter最大迭代次数
solver_stats求解器统计信息
返回
根近似值