how to correct this index error ?

su=4;
sv=4;
fh=[1 2 3 4; 2 3 4 5 ; 5 6 7 8 ; 1 2 3 5];
for i=-4:4
for j=-4:4
a(i,j)=1;
for u=1:su-2
for v=1:sv
if (fh(u,v)==i && fh(u+1,v)==j)
dell=1;
else
dell=0;
end
a(i,j)=a(i,j)+dell;
end
end
end
end
..when i run this code i got this error..
??? Attempted to access a(-4,-4); index must be a positive integer or logical.
Error in ==> testit at 6
a(i,j)=1;

2 个评论

Please, prasana, use meaningful tags. Almost all questions in this forum concern Matlab code.

请先登录,再进行评论。

回答(1 个)

You are working with Matlab for at least 3 month. It is time to read the Getting Started chapters to find out, that indices must be positive integers. Therefore you cannot access the element a(-4, -4). This seems to be a trivial solution:
for i = 1:9
for j = 1:9

类别

帮助中心File Exchange 中查找有关 Startup and Shutdown 的更多信息

产品

标签

尚未输入任何标签。

提问:

2013-1-9

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by