这是我在该论坛上的第一篇帖子,希望大家一切顺利。我是python的新手,目前正在使用它进行天文学项目的数据分析。我已经使用numpy加载了8个.dat文件,每个文件包含每个星系的多个周期值。
logp1,m_1 =np.loadtxt('hst_gal1_cepheids.dat',\
unpack=True, \
usecols=(1,2), \
dtype=float)
logp2,m_2 =np.loadtxt('hst_gal2_cepheids.dat',\
unpack=True, \
usecols=(1,2), \
dtype=float)`
`
等等...
我必须使用公式M_(n)= slope * logp(n)+ incept(变量斜率和incept之前已定义)。我最初是这样做的
M_2=slope*logp2+incpt
M_3=slope*logp3+incpt
但是,这似乎很漫长而混乱。我尝试使用
`for i in range(1,8):
def func(slope,incept,logpi:
return M_[i]=slope*logp[i]+incpt`
创建从1到8的多个X变量,它们对应于正确的星系,但是返回后语法无效。 我也尝试使用.append
M_.append(str[i])=slope*logp.append(i)+incept`
但这也给了我一个错误“无法分配给函数调用” 很抱歉,如果这看起来是非常新手的代码,但是对于编码并尝试掌握它来说是新手。 任何形式的帮助将不胜感激。 非常喜欢。
我可以建议使用字典结构,如下所示:
然后您可以像这样从dict中获取参数:
要么