Решение определенного интеграла питон

Русские Блоги

Вычисление интеграла с помощью модуля Scipy в Python

Метод получения интеграла в модуле Scipy на Python:

SciPy реализует базовое использование функции, чтобы найти интеграл функции, интеграл, продвинутая математика имеет много разговоров, основной смысл — найти площадь под кривой.

Среди них rn можно рассматривать как отклонение, которым обычно можно пренебречь, а wi можно рассматривать как вес.

SciPy предоставляет множество функций для вычисления различных типов интегралов, которые можно разделить на две категории в зависимости от разницы входных параметров: одна — это вход известной функции и верхний и нижний пределы интеграла; другая — набор входных точек.Это применимо к некоторым данным, собранным после физической реализации, но функция не может быть определена, но есть много точек данных, тогда какая площадь под огибающей этих точек также является интегральной проблемой, поэтому существует точка, установленная в функции SciPy Integral, параметр функции — это массив или список в форме.

1. Интеграл с известным типом функции

В этом разделе показано, как вычислить интеграл в SciPy в виде нескольких вопросов.

  • Вопрос 1: Здесь предположим, что функция f (x) = x + 1, верхний и нижний пределы интеграла равны [1,2] математическое выражение:

Вы можете использовать подмодуль, интегрированный в модуль Scipyчетырехъядерная функцияНайти расчетное значение этой математической задачи.

from scipy import integrate def f(x): return x + 1 v, err = integrate.quad(f, 1, 2) print v 

Результат выполнения программы:

2.5

Вопрос 2:Но для функции f (x) = ax + b, можно ли использовать функцию quad, если a и b могут быть неизвестны? Ответ - да, quad имеет формальный параметр args, который можно передавать в некоторых параметрах.
from scipy import integrate def f(x, a, b): return a * x + b v, err = integrate.quad(f, 1, 2, args = (-1, 1)) print v 

Результат выполнения программы:

-0.5

Вопрос 3:Если вы встретите точку останова в интегральной функции, вы можете использовать точки функции quad, чтобы задать точку останова и продолжить интегрирование. Например:


Вотf (x) вЕсть точка останова, где x = 0, если точка останова не указана, она будет вычислена путем вычисления квадратов:
from scipy import integrate import numpy as np def f(x): return 1 / np.sqrt(abs(x)) v, err = integrate.quad(f, -1, 1) print v 
scipy1801.py:4: RuntimeWarning: divide by zero encountered in double_scalars return 1 / np.sqrt(abs(x)) inf 

Результат — бесконечность (бесконечность, бесконечность) и есть ошибка деления на 0! немного отредактируйте:

from scipy import integrate import numpy as np def f(x): return 1 / np.sqrt(abs(x)) v, err = integrate.quad(f, -1, 1, points=[0]) print v 

Мы можем нарисовать визуальную кривую этой функции:

from scipy import integrate import numpy as np def f(x): return 1 / np.sqrt(abs(x)) v, err = integrate.quad(f, -1, 1, points=[0]) print v 

import numpy as np, matplotlib.pyplot as plt
from mpl_toolkits.mplot3d.axes3d import Axes3D
fig, ax = plt.subplots(figsize=( 8, 3))
x = np.linspace(- 1, 1, 10000)
ax.plot(x, f(x), lw= 2)
ax.fill_between(x, f(x), color= ‘green’, alpha= 0.5)
ax.set_xlabel( » x x x «, fontsize= 18)
ax.set_ylabel( » f ( x ) f(x) f ( x ) «, fontsize= 18)
ax.set_ylim( 0, 25)
plt.show()

Читайте также:  Кнопка наверх с помощью CSS - "Нубекс"

Получите следующую таблицу результатов:

2 Дайте интеграл от множества точек

В случае, если интегральная функция не может быть подтверждена, некоторые последовательности также могут быть интегрированы.

  • Вопрос 4: Интегрировать Но есть 10 примеров данных этой функции, функция quad не f (x) = x, но соответствующие (xi,yi)。
from scipy import integrate import numpy as np def f(x): return np.sqrt(x) x = np.linspace(0, 2, 10) y = f(x) v = integrate.trapz(y, x) print v 

3 Несколько точек

Двойной интеграл в SciPy можно вычислить с помощью функции dblquad, а тройной интеграл можно вычислить с помощью функции tplquad. Функцию nquad можно использовать для множественных интегралов от f (x1, x2, . xn).

  • Двойная интегральная функция dblquad для вычисления, предположим, что есть функция f (x, y) необходимо вычислить свой двойной интеграл.
Как использовать Scipyфункция dblquadКакая? Общий формат выражения для универсального двойного интеграла:

Тогда первый параметр функции dblquad должен бытьf (x, y), второй, третий, четвертый и пятый - это a, b, g (x), h (x), что означает, что четвертая и пятая функции dblquad являются функцией.
from scipy import integrate import numpy as np def f(x, y): return x * y def h(x): return x v, err = integrate.dblquad(f, 1, 2, lambda x: 1, h) print v 

Результат выполнения программы:

1.125


Тройной интеграл можно вычислить с помощью tplquad. Общий формат выражения тройного интеграла:

tqlquad(f, a, b, g, h, q, r) 

Среди них все функции f, g, h, q и r. Ниже для расчета

Программа, написанная на Python, выглядит так:

from scipy import integrate import numpy as np f = lambda x, y, z : x g = lambda x : 0 h = lambda x : (1 - x) / 2 q = lambda x, y : 0 r = lambda x, y : 1 - x - 2 * y v, err = integrate.tplquad(f, 0, 1, g, h, q, r) print v 

Результаты выполнения программы:

0.02083333333


Источник

Оцените статью