0

我有一个 1x4225 向量,它的元素介于 0 和 1 之间,我想在 matlab 中绘制它们的概率密度函数。在问题的情况下,ksdensity()概率有时会超过 1。我还尝试了下面的代码来做到这一点:

A= [1x4225];           
xRange = 0:1;                
N = hist(A,xRange);        
plot(xRange,N./numel(A))

但是由于我的数据量很大,它制作了一个由一些垂直线组成的模棱两可的图,对我来说毫无用处。那么有没有办法解决这个问题或在matlab中以任何其他方式来解决这个问题,将每个元素显示为pdf图中的一个单独的点?

4

1 回答 1

0

当你这样做时,xRange = 0:1;你会得到一个 2-element vector [0 1]。那可能不是你想要的。指定如下步骤:

xRange = 0:0.01:1;

将每个元素绘制为一个点是在 MATLAB 中使用 line 说明符参数完成的,例如plot(xRange,N./numel(A),'*'). 但是,对于只有少量 bin 的直方图,最好使用bar(...). 如果您采取更精细的步骤,那么绘图可能会更好。

于 2013-10-25T06:57:39.263 回答