积分与常微分方程 (scipy.integrate)#

集成函数,给定函数对象#

quad(func, a, b[, args, full_output, ...])

计算定积分。

quad_vec(f, a, b[, epsabs, epsrel, norm, ...])

自适应积分向量值函数。

dblquad(func, a, b, gfun, hfun[, args, ...])

计算一个双重积分。

tplquad(func, a, b, gfun, hfun, qfun, rfun)

计算一个三重(定)积分。

nquad(func, ranges[, args, opts, full_output])

多变量积分。

fixed_quad(func, a, b[, args, n])

使用固定阶数的Gauss-Legendre求积法计算定积分。

quadrature(func, a, b[, args, tol, rtol, ...])

使用固定容差的Gauss-Legendre求积法计算定积分。

romberg(function, a, b[, args, tol, rtol, ...])

可调用函数或方法的Romberg积分。

newton_cotes(rn[, equal])

返回 Newton-Cotes 积分的权重和误差系数。

qmc_quad(func, a, b, *[, n_estimates, ...])

使用拟蒙特卡罗积分法在N维空间中计算积分。

IntegrationWarning

集成过程中出现问题的警告。

AccuracyWarning

集成函数,给定固定样本#

trapezoid(y[, x, dx, axis])

使用复合梯形法则沿给定轴进行积分。

cumulative_trapezoid(y[, x, dx, axis, initial])

使用复合梯形法则累积积分 y(x)。

simpson(y, *[, x, dx, axis])

使用给定轴上的样本和复合辛普森法则来积分 y(x)。

cumulative_simpson(y, *[, x, dx, axis, initial])

使用复合辛普森1/3规则累积积分 y(x)。

romb(y[, dx, axis, show])

使用函数的样本进行Romberg积分。

参见

scipy.special 用于正交多项式(特殊),为高斯求积根和其他权重因子及区域提供权重。

求解ODE系统的初值问题#

求解器被实现为独立的类,可以直接使用(低级用法)或通过便捷函数使用。

solve_ivp(fun, t_span, y0[, method, t_eval, ...])

求解一个常微分方程组的初值问题。

RK23(fun, t0, y0, t_bound[, max_step, rtol, ...])

显式龙格-库塔法,阶数为3(2)。

RK45(fun, t0, y0, t_bound[, max_step, rtol, ...])

显式龙格-库塔法,阶数为5(4)。

DOP853(fun, t0, y0, t_bound[, max_step, ...])

显式龙格-库塔法,阶数为8。

Radau(fun, t0, y0, t_bound[, max_step, ...])

Radau IIA 家族的隐式 Runge-Kutta 方法,阶数为 5。

BDF(fun, t0, y0, t_bound[, max_step, rtol, ...])

基于向后差分公式的隐式方法。

LSODA(fun, t0, y0, t_bound[, first_step, ...])

带有自动刚度检测和切换的Adams/BDF方法。

OdeSolver(fun, t0, y0, t_bound, vectorized)

ODE 求解器的基类。

DenseOutput(t_old, t)

用于ODE求解器生成的步长上的局部插值基类。

OdeSolution(ts, interpolants[, alt_segment])

连续的 ODE 解。

旧 API#

这些是为 SciPy 开发的例程。它们封装了在 Fortran 中实现的旧求解器(主要是 ODEPACK)。虽然它们的接口并不特别方便,并且与新 API 相比缺少某些功能,但这些求解器本身质量良好,并且作为编译的 Fortran 代码运行速度快。在某些情况下,使用这个旧 API 可能是值得的。

odeint(func, y0, t[, args, Dfun, col_deriv, ...])

集成一个常微分方程系统。

ode(f[, jac])

一个通用的数值积分器接口类。

complex_ode(f[, jac])

复杂系统的ode包装器。

ODEintWarning

在执行 odeint 期间引发的警告。

求解ODE系统的边界值问题#

solve_bvp(fun, bc, x, y[, p, S, fun_jac, ...])

求解常微分方程系统的边界值问题。