我用下面的代码绘制了我的图形:
from numpy import*
from matplotlib.pyplot import*
h=6.626*10**(-34)
c=3*10**8
k=1.38*10**(-23)
t=6000
l=[]
s=arange(100,2000,1)
def fun(x,t):
e=(2*pi*h*c**2)/(x**5*(exp((h*c)/(x*k*t))-1))
return e
for x in arange(100*10**(-9),2000*10**(-9),1*10**(-9)):
r=fun(x,t)
l.append(r)
plot(s,l)
show()
出于对RandomGuy的礼貌,他给出了一个非常紧凑的代码:
from numpy import*
from matplotlib.pyplot import*
h=6.626*10**(-34)
c=3*10**8
T=6000
k=1.38*10**(-23)
l=linspace(100*10**(-9),2001*10**(-9),100)
E=(2*pi*h*c**2)/((l**5)*exp(h*c/(l*k*T)-1))
plot(l,E)
show
但问题是,我得到了不同的峰值最大值。在第一个中,它接近于1,但对于第二个,它超过了2.5。这些代码的不同之处在哪里?
发布于 2020-08-07 13:32:43
不同之处在于指数的论证。
在第二个函数中,-1
在exp
的参数中,这与第一个函数不同。
https://stackoverflow.com/questions/63302533
复制