Интеграция с функцией как предел интеграции (Python) - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь определить функцию, которая включает продукты различных функций и интеграл функции с пределом интеграции, который также является определяемой пользователем функцией:

from scipy.special import kn
from scipy.integrate import quad
import numpy as np

c = 3e10
h = 6.626e-27
m_e = 9.11e-28
e = 4.80e-10
pi = np.pi
B_zacc_dash = 850

def E_cr(E_dash):
    E_cr = ((np.sqrt(6)*h*e*B_zacc_dash)/(4*pi*m_e*c)) \
    * (E_dash/(m_e*c**2))**2
    return E_cr

def P_syn(E_ph_dash):
    P_syn = ((np.sqrt(2)*e**3*B_zacc_dash*E_ph_dash)/(m_e*c**2*h*E_cr) * quad(lambda ?:kn(5/3,?),E_ph_dash/E_cr,np.inf))
    return P_syn
print (P_syn(1)[0])

Я получаю следующую ошибку:

TypeError

ipython-input-7-d9fa0abe93eb> в

---> 22 print (P_syn (1) [0])

ipython-input-7-d9fa0abe93eb> в P_syn (E_ph_dash)

---> 20 * quad (лямбда ?: кн (5/3, ?), E_ph_dash / E_cr, np.inf))

TypeError: неподдерживаемые типы операндов для *: 'float' и 'function'

Как бы получить это для вывода P_syn для ввода E_ph_dash? Заранее спасибо.

...