내 코드에 대한 지침을 얻기 위해 Python을 처음 접했고 코드에서 수정 된 베셀 함수 k0에 어려움을 겪고 있습니다. 실제 코드는 두 부분으로 나뉘어집니다.Python TypeError : ufunc 'k0'Scipy.special.k0을 사용하여
1) 첫 번째 섹션에서는 sympy를 사용하여 t를 풀어 t = 0에서 x0 값을 반환합니다.
2) 두 번째 부분에서는이 값 x0을 사용하여 x의 다른 값에 대한 t를 계산합니다.
내가 명시된 해결 X0 값에 대해 작동하지 않는 것 difficulites에게 scipy.special.k0 기능을 가지고있어 두 번째 단계에서 내가 왜
from __future__ import division
import sympy as sy
from sympy import besselk, log, nsolve
import math
import numpy as np
import scipy.special as sp
Tc = 9.2
Tb = 5.2
tb = Tb/Tc
print 'Value of tb is:'+' '+ str(tb)
L = 100*10**-9
W = 100*10**-9
n = 3*10**-6
r1 = W/2
print 'value of r1 is:'+' '+ str(r1)
x1 = r1 /n
print 'value of x1 is'+ ' '+ str(x1)
S = math.sqrt(3/(1+ tb + tb**2))
print 'value of S is:'+' ' + str(S)
B = (math.pi/2)*(1+(L/W))
print 'value of B is:'+' ' + str(B)
E = [x /10 for x in range (1, 2, 1)]
x0 = sy.symbols('x0')
i = (S*x0)*(1-tb**3)*besselk(0, x0)/3*(log(x0/x1)+B) * besselk(0, S*x0)
t = - i*((log(x0/x1)*B)**2 - (log(x0/x1)+B)**2)
X0 = nsolve(t, E)
G = sp.k0(X0)
print 'value of x0 is:' +' '+ str(X0)
때 지금까지 확실하지 않다 다음과 같은 오류가 발생하는 코드를 실행합니다.
TypeError: ufunc 'k0' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
어떤 도움을 주셔서 감사 드리며 미리 감사드립니다.