欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python强度公式计算_python – 黑体谱的普朗克斯公式

发布时间:2024/8/1 python 47 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python强度公式计算_python – 黑体谱的普朗克斯公式 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

我试图写一个简单的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

k = 1.38e-23

def planck(wav, T):

a = 2.0*h*c**2

b = h*c/(wav*k*T)

intensity = a/ ( (wav**5) * (np.exp(b) - 1.0) )

return intensity

# generate x-axis in increments from 1nm to 3 micrometer in 1 nm increments

# starting at 1 nm to avoid wav = 0, which would result in division by zero.

wavelengths = np.arange(1e-9, 3e-6, 1e-9)

# intensity at 4000K, 5000K, 6000K, 7000K

intensity4000 = planck(wavelengths, 4000.)

intensity5000 = planck(wavelengths, 5000.)

intensity6000 = planck(wavelengths, 6000.)

intensity7000 = planck(wavelengths, 7000.)

plt.hold(True) # doesn't erase plots on subsequent calls of plt.plot()

plt.plot(wavelengths*1e9, intensity4000, 'r-')

# plot intensity4000 versus wavelength in nm as a red line

plt.plot(wavelengths*1e9, intensity5000, 'g-') # 5000K green line

plt.plot(wavelengths*1e9, intensity6000, 'b-') # 6000K blue line

plt.plot(wavelengths*1e9, intensity7000, 'k-') # 7000K black line

# show the plot

plt.show()

而你看到:

您可能需要清理轴标签,添加图例,在同一图表上绘制多个温度下的强度等.咨询relevant matplotlib documentation.

标签:python,numpy,scipy,matplotlib

来源: https://codeday.me/bug/20190831/1772064.html

总结

以上是生活随笔为你收集整理的python强度公式计算_python – 黑体谱的普朗克斯公式的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。