Integração Numérica com scipy.integrate
Deslize para mostrar o menu
A integração numérica permite calcular a área sob curvas e resolver equações que não possuem soluções analíticas. Na computação científica, é comum a necessidade de avaliar integrais definidas ou resolver equações diferenciais ordinárias (EDOs) cujas soluções exatas são desconhecidas ou muito complexas para serem obtidas. O módulo scipy.integrate do SciPy oferece ferramentas poderosas e fáceis de usar para essas tarefas, tornando possível realizar integrações e resolver EDOs numericamente utilizando apenas algumas linhas de código em 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()
Ao utilizar scipy.integrate.quad, a função retorna tanto o valor calculado da integral quanto uma estimativa do erro. No exemplo acima, integrar sin(x) de 0 a π fornece um resultado muito próximo de 2, que corresponde ao resultado analítico exato. Isso demonstra tanto a precisão quanto a confiabilidade da rotina de integração numérica.
Para equações diferenciais ordinárias, scipy.integrate.solve_ivp calcula a solução em um intervalo especificado. No exemplo de EDO, a equação dy/dt = -2y com a condição inicial y(0) = 1 descreve um decaimento exponencial. A solução mostra como y diminui suavemente ao longo do tempo, e é possível visualizar isso com um gráfico simples. A saída corresponde à solução analítica esperada y(t) = exp(-2t).
1. Qual função é usada para integração definida no SciPy?
2. O que scipy.integrate.solve_ivp resolve?
3. Por que a integração numérica é importante na computação científica?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo