我试图根据它们的通量计算一些恒星的大小,但我一直得到错误的值,我不知道为什么。例如:
第一颗恒星在 V 波段的通量为 39,984。它的 V 星等等于 10.1 - 2.5log(39,984/1,220,000) = 13,8(10.1 和 1,220,000 来自参考星)。但我的程序计算出的震级为 18.65。这是我的代码:
import numpy as np
import asciidata
fv = []
fb = []
data = asciidata.open('Flux.txt')
for i in data[1]:
fv.append(float(i))
for i in data[2]:
fb.append(float(i))
mv = []
mb = []
mbv = []
for i in range (0,25):
mv.append(10.1 - 2.5 * np.log(fv[i]/1220000))
mb.append(11.0 - 2.5 * np.log(fb[i]/339368))
print i+1, mv[i], mb[i]