Интеграция продукта двух функций - PullRequest
1 голос
/ 20 марта 2020

Я немного запутался с результатом моего следующего кода:

import scipy.integrate as intg
Phi_0 = lambda x: x**4
Phi_1= lambda x:  x**2
f    = lambda x: Phi_0*Phi_1
I = intg.quadrature(lambda x: Phi_0(x)*Phi_1(x), -1, 1)
print("I =", I[0], "Tolerance =", I[1])

Который, конечно, дает результат.
Но когда я пишу код для интеграции, как любой другой метод снизу выдает ошибку:

 I = intg.quadrature(lambda x: Phi_0*Phi_1, -1, 1)
 I = intg.quadrature(f, -1, 1)
 I = intg.quadrature(f(x), -1, 1)

Можете ли вы объяснить, почему первый метод работает, а другие нет?

1 Ответ

1 голос
/ 20 марта 2020

Вы не можете просто умножить Phi_0 и Phi_1 - они являются функциями, и их нужно вызывать с аргументом:

f = lambda x: Phi_0(x) * Phi_1(x)
# Here ------------^----------^
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...