Integración en Python
quad para una integral definida, solve_ivp para una ecuación diferencial.
import numpy as np
from scipy import integrate
valor, error = integrate.quad(lambda x: np.exp(-x ** 2), 0, np.inf)
print(round(valor, 8), f"{error:.1e}", round(np.sqrt(np.pi) / 2, 8))
x = np.linspace(0, np.pi, 101)
print(round(integrate.trapezoid(np.sin(x), x), 6))
print(round(integrate.simpson(np.sin(x), x=x), 6))
solucion = integrate.solve_ivp(lambda t, y: -0.5 * y, t_span=(0, 10),
y0=[100.0], t_eval=[0, 5, 10])
print(solucion.y[0].round(3), solucion.success)
Cómo funciona
quaddevuelve el valor y una estimación del error.trapezoidysimpsonintegran muestras, no funciones.solve_ivpavanza una EDO desde las condiciones iniciales.
Palabras clave y builtins usados aquí
aslambdaprintround
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 468
- Tokens
- 186
- Ritmo de tres estrellas
- 110 tpm
Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 101 segundos.
Paso 1 de 2 en Cálculo e interpolación; paso 14 de 23 en Computación científica con SciPy.