scipy.integrate — Integração numérica¶
O submódulo scipy.integrate fornece rotinas de integração numérica para funções reais de uma única variável. Os algoritmos não são portados do scipy.integrate do CPython, mas derivados da implementação de referência em https://www.genivia.com/qthsh.html.
Numerical integration works best with float64 math enabled. With float32
math the routines still work, with reduced precision. The required error
tolerance can be specified via the eps keyword argument; the
default is the compile-time etolerance value (1e-14 for fp64,
1e-8 for fp32).
Funções¶
- scipy.integrate.quad(f: Callable[[float], float], a: float, b: float, *, order: int = 5, eps: float = etolerance) tuple[float, float]¶
Integra f de a a b utilizando uma quadratura adaptativa de Gauss-Kronrod (G10, K21). Este é o integrador de uso geral recomendado.
- Parâmetros:
f – callable que aceita um único
floate devolve umfloat.a – limite inferior de integração.
b – limite superior de integração.
order – ordem de integração (predefinição
5).eps – tolerância de erro (predefinição
etolerance).
- Retorno:
uma 2-tupla
(result, error)de floats com o valor do integral e uma estimativa de erro.
- scipy.integrate.romberg(f: Callable[[float], float], a: float, b: float, *, steps: int = 100, eps: float = etolerance) float¶
Integra f de a a b utilizando o método de Romberg, uma fórmula de Newton-Cotes que avalia o integrando em pontos igualmente espaçados. Mais adequado para integrandos com derivadas contínuas. Note que
scipy.integrate.rombergestá descontinuado no CPython desde o SciPy 1.12.0; prefiraquad()para novo código.- Parâmetros:
f – callable que aceita um único
floate devolve umfloat.a – limite inferior de integração.
b – limite superior de integração.
steps – número de passos (predefinição
100).eps – tolerância de erro (predefinição
etolerance).
- Retorno:
o valor do integral como
float.
- scipy.integrate.simpson(f: Callable[[float], float], a: float, b: float, *, steps: int = 100, eps: float = etolerance) float¶
Integra f de a a b utilizando a regra de Simpson adaptativa. Ao contrário do
scipy.integrate.simpsondo CPython, esta função aceita um callable e determina internamente o espaçamento das amostras, em vez de receber um array de valores de função pré-calculados.- Parâmetros:
f – callable que aceita um único
floate devolve umfloat.a – limite inferior de integração.
b – limite superior de integração.
steps – número de passos (predefinição
100).eps – tolerância de erro (predefinição
etolerance).
- Retorno:
o valor do integral como
float.
- scipy.integrate.tanhsinh(f: Callable[[float], float], a: float, b: float, *, levels: int = 6, eps: float = etolerance) tuple[float, float]¶
Integra f de a a b utilizando a família de quadraturas Tanh-Sinh, Sinh-Sinh e Exp-Sinh (exponencial dupla). Esta é a rotina a utilizar quando o integrando tem singularidades ou derivadas infinitas nos extremos, sendo a única rotina neste submódulo que aceita limites de integração infinitos (por exemplo,
-np.inf,np.inf).- Parâmetros:
f – callable que aceita um único
floate devolve umfloat.a – limite inferior de integração; pode ser
-np.inf.b – limite superior de integração; pode ser
np.inf.levels – número de níveis de refinamento (predefinição
6).eps – tolerância de erro (predefinição
etolerance).
- Retorno:
uma 2-tupla
(result, error)de floats com o valor do integral e uma estimativa de erro.