Integrazione Numerica con scipy.integrate
Scorri per mostrare il menu
L'integrazione numerica consente di calcolare l'area sotto le curve e di risolvere equazioni che non hanno soluzioni analitiche. Nel calcolo scientifico, spesso si presenta la necessità di valutare integrali definiti o risolvere equazioni differenziali ordinarie (ODE) in cui le soluzioni esatte sono sconosciute o troppo complesse da ottenere. Il modulo scipy.integrate di SciPy offre strumenti potenti e facili da usare per questi compiti, rendendo possibile eseguire integrazioni e risolvere ODE numericamente con poche righe di codice python.
1234567891011from scipy import integrate import numpy as np # Define the function to integrate def f(x): return np.sin(x) # Compute the definite integral of sin(x) from 0 to pi result, error = integrate.quad(f, 0, np.pi) print("Integral result:", result) print("Estimated error:", error)
1234567891011121314151617181920212223from scipy.integrate import solve_ivp import numpy as np import matplotlib.pyplot as plt # Define the ODE: dy/dt = -2y def dydt(t, y): return -2 * y # Initial condition y0 = [1] # Time span for the solution t_span = (0, 5) # Solve the ODE solution = solve_ivp(dydt, t_span, y0, t_eval=np.linspace(0, 5, 100)) # Plot the solution plt.plot(solution.t, solution.y[0]) plt.xlabel("t") plt.ylabel("y(t)") plt.title("Solution of dy/dt = -2y with y(0) = 1") plt.show()
Quando si utilizza scipy.integrate.quad, la funzione restituisce sia il valore calcolato dell'integrale sia una stima dell'errore. Nell'esempio sopra, l'integrazione di sin(x) da 0 a π fornisce un risultato molto vicino a 2, che corrisponde al risultato analitico esatto. Questo dimostra sia l'accuratezza che l'affidabilità della routine di integrazione numerica.
Per le equazioni differenziali ordinarie, scipy.integrate.solve_ivp calcola la soluzione su un intervallo specificato. Nell'esempio ODE, l'equazione dy/dt = -2y con la condizione iniziale y(0) = 1 descrive un decadimento esponenziale. La soluzione mostra come y diminuisce in modo regolare nel tempo, e si può visualizzare questo comportamento con un semplice grafico. L'output corrisponde alla soluzione analitica attesa y(t) = exp(-2t).
1. Quale funzione viene utilizzata per l'integrazione definita in SciPy?
2. Cosa risolve scipy.integrate.solve_ivp?
3. Perché l'integrazione numerica è importante nel calcolo scientifico?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione