python强度公式计算_python – 黑体谱的普朗克斯公式
我試圖寫(xiě)一個(gè)簡(jiǎn)單的python代碼,用于給定溫度T = 200K的強(qiáng)度與波長(zhǎng)的關(guān)系圖.
到目前為止我有這個(gè)……
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
我不知道如何定義波長(zhǎng)(wav),從而產(chǎn)生普朗克公式的圖.任何幫助,將不勝感激.
解決方法:
這是一個(gè)基本情節(jié).要使用plt.plot(x,y,fmt)進(jìn)行繪圖,您需要兩個(gè)相同大小的數(shù)組x和y,其中x是要繪制的每個(gè)點(diǎn)的x坐標(biāo),y是y坐標(biāo),fmt是描述如何的字符串繪制數(shù)字.
因此,您需要做的就是創(chuàng)建一個(gè)均勻間隔的波長(zhǎng)陣列(我稱(chēng)之為波長(zhǎng)的np.array).這可以通過(guò)范圍(開(kāi)始,結(jié)束,間隔)來(lái)完成,這將創(chuàng)建從開(kāi)始到結(jié)束(不包括)間隔開(kāi)的數(shù)組.
然后使用函數(shù)在數(shù)組中的每個(gè)點(diǎn)處計(jì)算強(qiáng)度(將存儲(chǔ)在另一個(gè)np.array中),然后調(diào)用plt.plot繪制它們.注意numpy讓你在vectorized form中快速對(duì)數(shù)組進(jìn)行數(shù)學(xué)運(yùn)算,這在計(jì)算上是有效的.
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()
而你看到:
您可能需要清理軸標(biāo)簽,添加圖例,在同一圖表上繪制多個(gè)溫度下的強(qiáng)度等.咨詢(xún)r(jià)elevant matplotlib documentation.
標(biāo)簽:python,numpy,scipy,matplotlib
來(lái)源: https://codeday.me/bug/20190831/1772064.html
總結(jié)
以上是生活随笔為你收集整理的python强度公式计算_python – 黑体谱的普朗克斯公式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c++如何生成一个不能被继承的类
- 下一篇: HTML5表单美化