gpt4 book ai didi

matlab - 我使用的 histc 是错误的,还是这个 MATLAB 的错?

转载 作者:太空宇宙 更新时间:2023-11-03 19:54:19 25 4
gpt4 key购买 nike

好的,这是 MATLAB 中的一些代码:

data = [1 1.5 2 3 4 4.5 5 6 7 7 7 0 0 0];

histc(data, [1:1:5])
histc(data, [1:1:5, inf])
histc(data, [-inf, 1:1:5])

输出如下:

ans = 2     1     1     2     1
ans = 2 1 1 2 5 0
ans = 3 2 1 1 2 1

我的问题是,当您在 bin 大小中使用 inf 时,为什么 MATLAB 返回无用的 0(在这种情况下意味着 >= 5)?

它不会一直为零吗?帮助说明输出的长度始终与 bin 大小相同,但在这种情况下这不是一个糟糕的规范吗?

最佳答案

这实际上是 HISTC 的正确行为.当您使用语法时:

n = histc(x,edges);

然后,从文档中:

n(k) counts the value x(i) if edges(k) <= x(i) < edges(k+1). The last bin counts any values of x that match edges(end).

因此,您给出的最后一个边缘值返回与它完全匹配的事物的计数。当 inf 是最后一个边缘值时,计数为 0(即数据中没有 inf)。当5是最后一个边缘值时,它恰好匹配数据中的1个值。

关于matlab - 我使用的 histc 是错误的,还是这个 MATLAB 的错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/988276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com