matlab指数不在范围内?

时间:2013-11-08 20:26:53

标签: matlab indexing indices

我正在尝试为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

1 个答案:

答案 0 :(得分:2)

错误告诉您无法访问hist(257),因为数组hist中只有256个元素。请注意,hist也是内置函数名称,因此您应该考虑为变量指定一个不同的名称。

如何解决:

仔细考虑您的代码以及您要实现的目标。什么是ZhistKj可以达到的最大值(=Z(i+1))是多少?这是您为hist编制索引的值,显然hist并不大。那么每个变量的形状是什么?