【发布时间】:2016-02-06 21:23:56
【问题描述】:
我正在尝试了解数量错误。
我正在使用 Python 2.7.1 版和 numpy 和数量包。
我已经发布了定义的变量和方程以及随后的错误。我正在尝试生成一个 Teffpv 值随 theta (th) 变化的数组。有人可以解释我为什么会出错吗?
a = q.Quantity(0.2,'au').simplified
e = 0.2
r = q.Quantity(0.4,'Rsun').simplified # Radius of blackbody
t = q.Quantity(3500,'K').simplified #temperature for Teff of the star
al = 0.3
N = 100
th = np.linspace(0.,4*np.pi,N)
def d(a,e,th):
return a*(1-e**2)/(1+e*np.cos(th))
def Teffp(al,t,r,d):
return ((1.- al)**(1/4))*t*(r/d(a,e,th))**(1/2)
Teffpv = np.zeros(N) # make arrays to store results
for i in range(N-1):
Teffpv=Teffp(al,t,r,d(a,e,th[i]))
错误信息
TypeError Traceback (most recent call last)
<ipython-input-17-bdcc9550c9ae> in <module>()
14 Teffpv = np.zeros(N) # make arrays to store results
15 for i in range (N-1):
---> 16 Teffpv=Teffp(al,t,r,d(a,e,th[i]))
<ipython-input-17-bdcc9550c9ae> in Teffp(al, t, r, d)
11 return a*(1-e**2)/(1+e*np.cos(th))
12 def Teffp(al,t,r,d):
---> 13 return ((1.- al)**(1/4))*t*(r/d(a,e,th))**(1/2)
14 Teffpv = np.zeros(N) # make arrays to store results
15 for i in range (N-1):
TypeError: 'Quantity' object is not callable
【问题讨论】:
-
您有一个
d函数和一个d参数,但您似乎并不清楚要使用哪一个。
标签: python numpy astronomy astropy