使用gnuplot绘制黑体函数(普朗克曲线)

时间:2015-04-06 10:15:00

标签: plot gnuplot curve astronomy

我正在尝试使用gnuplot绘制标准黑体曲线(普朗克函数)和Wien近似以匹配一组给定的恒星数据。

数据在0到1.4单位的(任意)y范围内精细绘制。然而,无论我做什么,普朗克和维恩曲线在任何地方都接近0 - 所有点都在1e-27范围内。

我是否可能将函数定义错误,或者gnuplot在我不知情的情况下将非常小的数字设置为零?

这是我正在使用的gnuplot代码:

set title "Planck and Wien functions (blackbody curve)" font "Helvetica,14"; \

set out "ps3g0ivplot.eps"

set xrange ["0":"1.1e4"]; \

#set yrange ["0":"1.4"]; \

set ylabel "Arbitrary flux" font "Helvetica,14"; \

set xlabel "Wavelength (Angstrom)" font "Helvetica,14"; \

set mxtics; \

set mytics; \

#constants
h = 6.62606876e-34   # Planck's constant
c = 2.99792458e8   # speed of light
k = 1.3806503e-23   # Boltzmann's constant

Planck(x,t) = \
 (2*h*c*c/x**5)*(exp(-1*h*c/(x*k*t))-1)

Wien(x,t) = \
 (2*h*c**2/x**5)*exp((-1*h*c)/(x*k*t))

#set temperature, t
t = 6400 #in Kelvin, to match given star in ps3g0iv.dat

#print Planck(4500, t)
#print Wien(4500, t)

plot \
 Wien(x,t) lt 2 lw 3 title "Wien" , \
 Planck(x,t) lt 1 lw 3 title "Planck", \
 #"ps3g0iv.dat" lt 9 pt 1 pointsize 1 title "ps3g0iv.dat" with lines

quit

0 个答案:

没有答案