从数字矩阵创建直方图矩阵
我有一个值从 1 到 32 的矩阵,我需要创建一个直方图矩阵,使得第 (i,j) 个直方图将由零组成,除了 a(i,j) 上有 1。我可以用循环来做到这一点,但是有没有办法向量化这个操作?
这是带有循环的变体:
hist = zeros(size(a,1),size(a,2), 32);
for i = 1 : size(a, 1)
for j = 1 : size(a, 2)
hist(i,j,a(i,j)) = 1
end
end
I have a matrix with values from 1 to 32, i need to create a matrix of histograms such that (i,j)th histogram will consist of zeros, except it will have 1 on a(i,j). I can do this with loops, but is there a way to vectorize this operation?
Here is the variant with loops:
hist = zeros(size(a,1),size(a,2), 32);
for i = 1 : size(a, 1)
for j = 1 : size(a, 2)
hist(i,j,a(i,j)) = 1
end
end
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用accumarray 来做到这一点。
You can do that with
accumarray
.