Numerisk Integrasjon med scipy.integrate
Sveip for å vise menyen
Numerisk integrasjon gjør det mulig å beregne arealet under kurver og løse ligninger som ikke har analytiske løsninger. Innen vitenskapelig databehandling oppstår det ofte behov for å evaluere bestemte integraler eller løse ordinære differensialligninger (ODE-er) der eksakte løsninger enten er ukjente eller for komplekse å finne. Modulen scipy.integrate i SciPy tilbyr kraftige og brukervennlige verktøy for disse oppgavene, slik at du kan utføre integrasjon og løse ODE-er numerisk med bare noen få linjer python-kode.
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()
Når du bruker scipy.integrate.quad, returnerer funksjonen både den beregnede verdien av integralet og et estimat på feilen. I eksempelet ovenfor gir integrering av sin(x) fra 0 til π et resultat svært nær 2, som samsvarer med det eksakte analytiske resultatet. Dette demonstrerer både nøyaktigheten og påliteligheten til den numeriske integrasjonsrutinen.
For ordinære differensialligninger beregner scipy.integrate.solve_ivp løsningen over et spesifisert intervall. I ODE-eksempelet beskriver ligningen dy/dt = -2y med initialbetingelsen y(0) = 1 en eksponentiell avtagning. Løsningen viser hvordan y avtar jevnt over tid, og du kan visualisere dette med et enkelt plott. Utdataene samsvarer med den forventede analytiske løsningen y(t) = exp(-2t).
1. Hvilken funksjon brukes for bestemt integrasjon i SciPy?
2. Hva løser scipy.integrate.solve_ivp?
3. Hvorfor er numerisk integrasjon viktig innen vitenskapelig databehandling?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår