我想繪製Python中不同溫度和頻率的圖形,我定義了一個函數,但是當我想繪製它時,它會顯示一個錯誤。普朗克的能量密度Python
def planck(v,T):
h=6.62606957*(10**-34.0)
c=3*(10**8.0)
k=1.3806488*(10**-23.0)
x=(h*8*pi/c**3.0)
y=v**3
exponente = (h*v/k*T)
ex = math.exp(exponente)-1
PLANCK=(x*y)*(ex**-1)
return PLANCK
x0, xf, dx = 800,2*(10**8),1000
X = arange(x0, xf, dx)
print X
P1=planck(X, 3000)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-16-034ad82af010> in <module>()
----> 1 P1=planck(X, 3000)
<ipython-input-11-e52b9512e92c> in planck(v, T)
7 y=v**3
8 exponente = (h*v/k*T)
----> 9 ex = math.exp(exponente)-1
10
11 PLANCK=(x*y)*(ex**-1)
TypeError: only length-1 arrays can be converted to Python scalars
然後,如果我只是用的exp
代替math.exp
,圖形結果不變。
非常感謝。這真的很有幫助。這正是我需要的! – user3037208