Arrays 将数组拆分为n个部分,然后将它们再次合并,形成直方图
我对Matlab是新手 假设我有一个数组Arrays 将数组拆分为n个部分,然后将它们再次合并,形成直方图,arrays,matlab,histogram,Arrays,Matlab,Histogram,我对Matlab是新手 假设我有一个数组a=[1:1:1000] 我必须把它分成50个部分1-2021-40981-1000 我正试图这样做 E=1000X a=[1:E] n=50 d=E/n b=[] for i=0:n b(i)=a[i:d] end 但我无法得到结果 我正在研究的第二部分是,根据另一个结果,假设我的答案是3,第一个拆分数组应该有一个计数器,它应该是+1,如果答案是45,则第三个拆分数组的计数器应为+1,依此类推,最后我必须为所有计数器制作一个直方图。您可以使用:h
a=[1:1:1000]
我必须把它分成50个部分1-20
<代码>21-40<代码>981-1000
我正试图这样做
E=1000X
a=[1:E]
n=50
d=E/n
b=[]
for i=0:n
b(i)=a[i:d]
end
但我无法得到结果
我正在研究的第二部分是,根据另一个结果,假设我的答案是3,第一个拆分数组应该有一个计数器,它应该是+1,如果答案是45,则第三个拆分数组的计数器应为+1,依此类推,最后我必须为所有计数器制作一个直方图。您可以使用:
histc
完成所有这一切。在你的情况下:
X = (1:1:1000)';
Edges = (1:20:1000)';
Count = histc(X, Edges);
本质上,Count
包含X
中属于边
中定义的类别的元素数量,其中边
是一个单调递增的向量,其元素定义了连续类别的边界。一个更常见的例子可能是使用概率密度(例如均匀分布)构造X
,例如:
X = 1000 * rand(1000, 1);
仔细研究X
和边的规格,你应该会明白这一点。如果需要实际的直方图,请查看hist
函数
至于你问题的第二部分,我真的不知道你在问什么。-1感谢你甚至没有先去谷歌或搜索。谷歌搜索“matlab直方图”的前两个结果是hist()(绘图)和histc()(装箱函数)。关于SO:你的答案是第二个链接。这不能代替你自己做一些工作。