非常新的用户,如果我做了任何这样的错误,请道歉(对于链接而不是嵌入的图片也很抱歉,我没有足够的声誉来嵌入图像)。
基本上,我打算使用Python(特别是pyplot.hist
和mlab.normpdf
)从我的示波器输出生成CSV文件的高斯拟合,并测量其全宽半高。我遇到了几个问题,其中大部分都解决了,除了这一个我不能为我的生活解决。
我的代码从CSV文件中读取并使用pyplot.hist
为其生成直方图。现在,所有的数据(除了第一个,但由于我没有正确地收集数据而失败)产生的图形看起来明显是高斯的,除了直方图的郊区的小区。我期望通过使用range
关键字来解决此问题,只有hist
在看起来像高斯的部分中添加数据点(可能是不好的做法,但由于我的方法,这是必要的如何使示波器连接到正确配置的系统。
起初我认为这可以很好地解决我的问题。但是,当我将范围调整为重要的线段时,hist
仍然会产生具有这些小的边远区的图,这些区使normpdf
产生令人不满意的高斯。
作为参考,这里是我的一个CSV文件的直方图(覆盖了normpdf
的高斯)图像的链接,而range
的参数中没有使用hist
(使用bins='auto'
):
https://nofile.io/f/gM760eEoGsb/hist_norange.PNG(在数据的整个长度上都有一个高斯拟合,包括远离异常值)
我不确定我是否正确,但我认为如果它不是最右边的那个小箱子(也许是稍微调整以忽略直方图的最左边),{{ 1}}应该产生一个合理的高斯。
但是,如果我确实包含了mlab.normpdf
关键字,并使用了range
,那么我会得到这个:https://nofile.io/f/2UYcHY4P1E6/hist_range1.png(基本相同的是伸展高斯,但这次的范围更小 - 即使我已将范围限制在高斯式区域)
并且,对于子孙后代,如果我将范围进一步限制为直方图并且适合range=(-0.95,-0.64)
:https://nofile.io/f/tpmvgF1ydYj/hist_range2.PNG
实际的Gaussian根本不会改变形状,它只是将它的末尾压缩到我传递给(-0.83,-0.74)
的元组的参数。
此时我不知道造成这种情况的原因是什么,我的代码是错误,range
或hist
更深的错误还是我采取的数据错误(我是最初的想法,但在我尽最大努力优化系统后,我倾向于将第三个选项排除在外。)
我的代码如下:
normpdf