如何在histc中选择范围?为什么指数为0?

时间:2015-06-23 14:06:36

标签: matlab

我对histc有疑问: 我选择排序信号的最大值和最小值作为我的范围。

      ma = ssigPE(end);
      mi = ssigPE(1);
      range = mi:ma;
      [bincountsO,indO2] = histc(ssigPE, range);

所以我回来的范围是:          范围= [-1.097184703736132 -0.097184703736132 0.902815296263868]

我的问题是只有2个箱子可以开发,所以bincountsO有2个箱子 和indO2的值为0,1和2

我做错了什么?我想我使用的是错误的范围。我在这里阅读了文字:

http://de.mathworks.com/help/matlab/ref/histc.html#inputarg_binranges

但我不明白。

1 个答案:

答案 0 :(得分:1)

垃圾箱范围告诉您垃圾箱的启动和停止位置。因此,值[0 1 2 7]例如会产生3个分箱:[0 1][1 2][2 7]

在matlab中如果你mi:ma,它将创建一个从值mima的数组,步长为1.使用您的值,只提供3个值,因此2箱。有两种方法可以创建给定的步长传感器。

步长,如果100为例

range=mi:(ma-mi)/100:ma;

或者,方式更清晰

range=linspace(mi,ma,100)