Я проверил функции и параметры, но я не могу найти свою ошибку. Прошу прокомментировать, если вы знаете, что здесь происходит.Ошибка Поставляется функция не возвращает действительный float
Вот мой код:
from scipy.integrate import quad, dblquad
from sympy.mpmath import sin, cos, sqrt, pi
k0=0.1
def f(y, k):
return k**2 + (1 - k**2)*y**2
def p1(y,k):
return (1/f(y,k))*(f(y,k) - k**2 + (k**2)*sin(2*pi*sqrt(f(y,k)))/(2*pi*sqrt(f(y,k))))
def p2(y,k):
return (-1*k/(sqrt(1-y**2)*2*pi*f(y,k)))*(1 - cos(2*pi*sqrt(f(y,k))))
def p3(y,k):
return (k*y/(f(y,k)*sqrt(1-y**2)))*(f(y,k) - 1 + sin(2*pi*sqrt(f(y,k)))/(2*pi*sqrt(f(y,k))))
def q1(y,k):
return k*(1- y**2)*(1 - cos(2*pi*sqrt(f(y,k))))/f(y,k)
def q2(y,k):
return sqrt(1- y**2)*sin(2*pi*sqrt(f(y,k)))/sqrt(f(y,k))
def q3(y,k):
return y*sqrt(1-y**2)*(1 - cos(2*pi*sqrt(f(y,k))))/f(y,k)
r1 = lambda k: dblquad(lambda y,x: p2(x,k)*q3(y,k) - p3(x,k)*q2(y,k), -1, 1, lambda y: -1 , lambda y: y )
b = quad(r1, k0, 1)
print (b)
Что строка ошибка? – zeantsoi
Это Python 2 или Python 3? Можете ли вы опубликовать полную ошибку, которую вы получаете? – KSFT
python 3. retval = _quad (func, a, b, args, full_outputepsabs, epsrel, limit, points) строка 281 return_quad_quadpack_qagse (func, a, b, args, full_output_epsabs, epsrel, limit) строка 345 –