Я пытаюсь определить функцию, которая включает продукты различных функций и интеграл функции с пределом интеграции, который также является определяемой пользователем функцией:
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?
Заранее спасибо.