积分与常微分方程 (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])

使用固定阶高斯求积法计算定积分。

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

使用固定容差高斯求积法计算定积分。

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

可调用函数或方法的龙贝格积分。

newton_cotes(rn[, equal])

返回牛顿-科特斯积分的权重和误差系数。

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])

使用函数样本进行龙贝格积分。

参见

scipy.special 用于正交多项式(特殊)以获得其他权重因子和区域的高斯求积根和权重。

求解常微分方程组的初值问题#

求解器以独立类的形式实现,可以直接使用(低级使用)或通过便利函数使用。

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, ...])

5 阶 Radau IIA 族隐式龙格-库塔方法。

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)

常微分方程求解器的基类。

DenseOutput(t_old, t)

常微分方程求解器在步骤上进行的局部插值的基类。

OdeSolution(ts, interpolants[, alt_segment])

连续常微分方程解。

旧 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 期间引发的警告。

求解常微分方程组的边值问题#

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

求解常微分方程组的边值问题。