Чисельне Інтегрування з scipy.integrate
Свайпніть щоб показати меню
Чисельне інтегрування дозволяє обчислювати площу під кривими та розв'язувати рівняння, які не мають аналітичних розв'язків. У наукових обчисленнях часто виникає необхідність обчислення визначених інтегралів або розв'язання звичайних диференціальних рівнянь (ODE), для яких точні розв'язки невідомі або занадто складні для отримання. Модуль scipy.integrate у SciPy надає потужні та зручні інструменти для виконання цих завдань, що дозволяє виконувати інтегрування та розв'язувати ODE чисельно за допомогою лише кількох рядків коду на 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()
Коли ви використовуєте scipy.integrate.quad, функція повертає як обчислене значення інтегралу, так і оцінку похибки. У наведеному вище прикладі інтегрування sin(x) від 0 до π дає результат, дуже близький до 2, що відповідає точному аналітичному результату. Це демонструє як точність, так і надійність чисельної процедури інтегрування.
Для звичайних диференціальних рівнянь scipy.integrate.solve_ivp обчислює розв'язок на заданому інтервалі. У прикладі з ОДР рівняння dy/dt = -2y з початковою умовою y(0) = 1 описує експоненціальний спад. Розв'язок показує, як y плавно зменшується з часом, і це можна візуалізувати за допомогою простого графіка. Вихідні дані відповідають очікуваному аналітичному розв'язанню y(t) = exp(-2t).
1. Яка функція використовується для визначеного інтегрування в SciPy?
2. Що розв'язує scipy.integrate.solve_ivp?
3. Чому чисельне інтегрування є важливим у наукових обчисленнях?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат