我试图写一个简单的python代码,用于给定温度T = 200K的强度与波长的关系图.
到目前为止我有这个……
import scipy as sp
import math
import matplotlib.pyplot as plt
import numpy as np
pi = np.pi
h = 6.626e-34
c = 3.0e+8
k = 1.38e-23
def planck(wav, T):
a = 2.0*h*pi*c**2
b = h*c/(wav*k*T)
intensity = a/ ( (wav**5)*(math.e**b - 1.0) )
return intensity
我不知道如何定义波长(wav),从而产生普朗克公式的图.任何帮助,将不胜感激.
解决方法:
这是一个基本情节.要使用plt.plot(x,y,fmt)进行绘图,您需要两个相同大小的数组x和y,其中x是要绘制的每个点的x坐标,y是y坐标,fmt是描述如何的字符串绘制数字.
因此,您需要做的就是创建一个均匀间隔的波长阵列(我称之为波长的np.array).这可以通过范围(开始,结束,间隔)来完成,这将创建从开始到结束(不包括)间隔开的数组.
然后使用函数在数组中的每个点处计算强度(将存储在另一个np.array中),然后调用plt.plot绘制它们.注意numpy让你在vectorized form中快速对数组进行数学运算,这在计算上是有效的.
import matplotlib.pyplot as plt
import numpy as np
h = 6.626e-34
c = 3.0e+8