Matlab 如何选择历史记录中的范围?为什么指数为0?

Matlab 如何选择历史记录中的范围?为什么指数为0?,matlab,Matlab,我有一个关于历史的问题: 我选择已排序信号的最大值和最小值作为范围 ma = ssigPE(end); mi = ssigPE(1); range = mi:ma; [bincountsO,indO2] = histc(ssigPE, range); 所以我得到的范围是: 范围=[-1.097184703736132-0.097184703736132 0.902815296263868] 我的问题是只开发了两个箱子,所以bincountsO有两

我有一个关于历史的问题: 我选择已排序信号的最大值和最小值作为范围

      ma = ssigPE(end);
      mi = ssigPE(1);
      range = mi:ma;
      [bincountsO,indO2] = histc(ssigPE, range);
所以我得到的范围是: 范围=[-1.097184703736132-0.097184703736132 0.902815296263868]

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

我做错了什么?我想我用错了靶场。我在这里读课文:


但是我不明白。

垃圾箱的范围告诉你垃圾箱在哪里开始和停止。例如,一个
[0127]
的值将给出3个箱子:
[011]
[12]
[27]

在matlab中,如果执行
mi:ma
,它将创建一个从值
mi
ma
的数组,步长为1。对于您的值,这仅给出3个值,因此为2个箱子。有两种方法可以创建给定的步长向量

步长(以100为例)

range=mi:(ma-mi)/100:ma;
或者,更清晰

range=linspace(mi,ma,100)

非常感谢。Linspace在那里很好。我知道它应该给我两个箱子。但我仍然不知道为什么它会给我INDO23的值。0、1和2。你对此有什么解释吗?@ele indx告诉你
ssigPE
的值落在哪个箱子里。如果值超出范围,则结果为0。这是一个直方图,因此
ssigPE
中的数据量与箱子数量无关。indx是
尺寸(ssifPE)
谢谢。现在我确定0是默认值。描述中没有提到。@AnderBiguri-Hola!我创建了一个MATLAB聊天室,让我们讨论MATLAB相关的事情,或者讨论范围超出了单个评论的限制。有时间来拜访我们吧-