我正在尝试为IP编写最佳量化。 我是matlab的新手,在这段代码中,我试图遍历Z的每个区间中的每个像素,将其与它的直方图相乘并求它,这样我就可以计算出最优Q.
问题:Attempted to access hist(257);index out of bounds because numel(hist)=256.
for i=1:K,
for j=(Z(i)):Z(i+1),
sum1=(j)*hist(j+1)+sum1;
count=count+hist(j+1);
end
end
答案 0 :(得分:2)
错误告诉您无法访问hist(257)
,因为数组hist
中只有256个元素。请注意,hist
也是内置函数名称,因此您应该考虑为变量指定一个不同的名称。
如何解决:
仔细考虑您的代码以及您要实现的目标。什么是Z
。 hist
和K
? j
可以达到的最大值(=Z(i+1)
)是多少?这是您为hist
编制索引的值,显然hist
并不大。那么每个变量的形状是什么?