Il calcolo degli integrali in Python
Per calcolare gli integrali di una funzione in Python, posso utilizzare la libreria "scipy" o la libreria "sympy". Entrambi i moduli offrono vari strumenti per il calcolo numerico, inclusi gli integrali.
Integrale definito
Per calcolare un integrale definito \(\int_a^b f(x) \, dx\), posso usare la funzione quad() di scipy.integrate.
from scipy.integrate import quad
Ad esempio, definisco la funzione da integrare
def integrand(x):
return 2*x
Fisso i limiti di integrazione nell'intervallo da 0 a 1.
a = 0
b = 1
Infine, calcolo l'integrale definito tramite la funzione quad().
result, error = quad(integrand, a, b)
La funzione restituisce due valori: il risultato dell'integrale definito e l'errore.
print(f"Integrale definito: {result}")
Integrale definito: 1.0
In questo caso l'errore stimato è
print(f"Errore stimato: {error}")
Errore stimato: 1.1102230246251565e-14
In effetti l'integrale di f(x)=2x nell'intervallo (0,1) è 1.0 perché la integrale di f(x)=2x è F(x)=x2.
$$ \int_0^1 2x \ dx = [ x^2 ]_0^1 = (1)^2 - (0)^2 = 1.0 $$
Metodo alternativo
In alternativa, posso calcolare l'integrale definito anche usando la funzione integrate() della libreria sympy.
from sympy import symbols, integrate
Ad esempio, definisco il simbolo "x" della variabile indipendente
x = symbols('x')
Poi definisco la funzione $ f(x)=2x $ che voglio integrale.
f = 2*x
Infine, calcolo l'integrale della funzione f(x) tramite integrate()
integral = integrate(f, (x,0,1))
Il primo parametro è la funzione integranda f, il secondo parametro è una tupla (x,0,1) composta dalla variabile di integrazione 'x' e dall'intervallo di integrazione (0,1).
print(integral)
1
Il risultato finale è sempre lo stesso, l'integrale di f(x)=2x nell'intervallo (0,1) è uguale a 1.
Integrale indefinito
Per calcolare un integrale indefinito, posso utilizzare sympy, una libreria per il calcolo simbolico.
from sympy import symbols, integrate
Ad esempio, definisco il simbolo della variabile indipendente
x = symbols('x')
Poi definisco la funzione da integrare che in questo caso è $ f(x)=2x $
f = 2*x
A questo punto, calcolo l'integrale indefinito della funzione tramite la funzione integrate(f,x)
integral = integrate(f, x)
Il primo parametro è la funzione integranda f=sin(x) mentre il secondo parametro x è la variabile di integrazione
print(f"Integrale indefinito: {integral}")
Integrale indefinito: x**2
L'integrale indefinito di f(x)=2x è la funzione primitiva F(x)=x2+c.
$$ \int 2x \ dx = x^2+c $$
Dove 'c' è una costante numerica qualsiasi.
Questi sono i metodi di base per calcolare integrali in Python utilizzando `scipy` per gli integrali definiti e `sympy` per quelli indefiniti.
E così via.