Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Python PSD函数中获取最大振幅值_Python_Matplotlib_Plot_Spectrum - Fatal编程技术网

如何从Python PSD函数中获取最大振幅值

如何从Python PSD函数中获取最大振幅值,python,matplotlib,plot,spectrum,Python,Matplotlib,Plot,Spectrum,我用以下代码绘制了这个光谱: 但是我得到了 最大值=0.000458510518667 实际上,如果我打印Y的值,我会得到: [8.60400008e-06 7.85361760e-06 9.00300444e-06…, 9.55738417e-06 1.14888955e-05 1.12340323e-05] 也许我需要做些别的事情来获得我在图中看到的振幅?结果不是以dB为单位给出的,所以实际上: 10*log(0.000458)=-33 dB(约) 因此,前面的代码是正确的,如果需要获得P

我用以下代码绘制了这个光谱:

但是我得到了

最大值=0.000458510518667

实际上,如果我打印Y的值,我会得到:

[8.60400008e-06 7.85361760e-06 9.00300444e-06…,
9.55738417e-06 1.14888955e-05 1.12340323e-05]


也许我需要做些别的事情来获得我在图中看到的振幅?

结果不是以dB为单位给出的,所以实际上:

10*log(0.000458)=-33 dB(约)

因此,前面的代码是正确的,如果需要获得PSD函数的最大值,可以使用它。您可以添加以下代码:

    max=np.max(Y)
    log=10*math.log10(max)
    print(max)
    print(log)

多亏了我使用的Python库matplotlib中的专家用户,我才意识到这一点。

10*log(0.000458)大约为-33 dB,所以我看不出您得到的结果有什么问题。也许你先告诉我们你得到的不是你期望的?哦,我以为结果会是在dB上!!我没想到会这样,抱歉搞混了。我应该删除这个问题吗?非常感谢。视情况而定。如果你认为它对未来的读者有用,你可以把它留在这里,自己回答。如果你不这么认为,或者你不想回答,你可以删除它。我认为它可能对其他正在学习Python的人有用:)但是,如果你回答这个问题,我认为你可以得到一些“分数”:D如果你不想做,我会做,但我认为如果你做是公平的是的,但我有足够的分数,我不需要通过将比率转换为dB来赢得声誉。
    max=np.max(Y)
    log=10*math.log10(max)
    print(max)
    print(log)