在Python中,如何从返回多个值的函数中绘制输出?

2024-04-26 18:29:10 发布

您现在位置:Python中文网/ 问答频道 /正文

简短介绍

我在计算和绘制行星围绕脉冲星运行的光谱能量。在

我以前对列表中的所有数据进行了排序,其维度为[172,2](172行,2列)。在

首先,我必须计算一个预设模型的参数和相应的光谱能量(从这些参数中)。在

定义了一个函数,在这个函数下,我们找到了一个函数。在

代码

 var('a, b, t')

def spectrum(omega):

    model = a*sin(omega*t) + b*cos(omega*t)
    fit = find_fit(variations, model, parameters= [a, b], variables = [t], solution_dict = True)
    sp_en = ((fit[a])**2 + (fit[b])**2)/2

    return fit[a], fit[b], sp_en

然后调用函数并打印值:

^{pr2}$

现在我只需要绘制输出。在

“半解决方案”

如果一个函数返回只返回sp。写下以下内容就足够了:

var('t')
plot(spectrum(t), (t, 1, 100))

返回: energy-omega plot


问题是:如果我想打印所有三个输出,如何绘制这个函数?在


Tags: 函数参数modelplotvar绘制光谱行星
2条回答

只需使用energy变量调用plot函数

omega=10
c, v, energy = spectrum(omega)   #enter arbitray angular frequency here
print "Values for the given angular frequency : \n \n a = %f, b = %f, spectral_energy = %f " % (c, v, energy)

plot(energy, (omega, 1, 100)

只需对spectrum的返回值使用索引:

plot(spectrum(t)[2], (t, 1, 100))

相关问题 更多 >