Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Numerisk Integration med scipy.integrate | Integration, Interpolation och Signalbehandling
Introduktion till SciPy

Numerisk Integration med scipy.integrate

Svep för att visa menyn

Numerisk integration möjliggör beräkning av arean under kurvor och lösning av ekvationer som saknar analytiska lösningar. Inom vetenskapliga beräkningar uppstår ofta behovet av att utvärdera bestämda integraler eller lösa ordinära differentialekvationer (ODE) där exakta lösningar antingen är okända eller för komplexa att erhålla. Modulen scipy.integrate i SciPy tillhandahåller kraftfulla och lättanvända verktyg för dessa uppgifter, vilket gör det möjligt att utföra integration och lösa ODE:er numeriskt med bara några rader python-kod.

1234567891011
from 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)
1234567891011121314151617181920212223
from 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()

När du använder scipy.integrate.quad returnerar funktionen både det beräknade värdet av integralen och en uppskattning av felet. I exemplet ovan ger integrering av sin(x) från 0 till π ett resultat mycket nära 2, vilket stämmer överens med det exakta analytiska resultatet. Detta visar både noggrannheten och tillförlitligheten hos den numeriska integrationsrutinen.

För ordinära differentialekvationer beräknar scipy.integrate.solve_ivp lösningen över ett specificerat intervall. I ODE-exemplet beskriver ekvationen dy/dt = -2y med begynnelsevillkoret y(0) = 1 exponentiell avklingning. Lösningen visar hur y minskar jämnt över tid, och du kan visualisera detta med en enkel graf. Utdata stämmer överens med den förväntade analytiska lösningen y(t) = exp(-2t).

1. Vilken funktion används för bestämd integration i SciPy?

2. Vad löser scipy.integrate.solve_ivp?

3. Varför är numerisk integration viktig inom vetenskaplig databehandling?

question mark

Vilken funktion används för bestämd integration i SciPy?

Vänligen välj det korrekta svaret

question mark

Vad löser scipy.integrate.solve_ivp?

Vänligen välj det korrekta svaret

question mark

Varför är numerisk integration viktig inom vetenskaplig databehandling?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 1

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 4. Kapitel 1
some-alt