HELP : Subscript indices must either be real positive integers or logicals - AGAIN
1 回表示 (過去 30 日間)
古いコメントを表示
I need your help to solve the problem of subscript index that must either be positive integer or logical. Can any one help to correct this ?
A = magic(5);
M1 = size(A,1);
M2 = size(A,2);
E = [5 8 20];
for x = 1:M1
for y = 1:M2
if A(A(x,y) == E)
A(x-1,y) = 5
end
end
end
Thank you!
0 件のコメント
採用された回答
Adam
2016 年 1 月 11 日
By including 'again' in the title I hope that you are learning from previous solutions and that this is a different type of cause to your previous such problems.
The line
A(x-1,y) = 5
fails first time round the loop because x is 1 so x-1 is 0 which is not a valid array index (this is what the error message tells you - it must be a real positive integer or a logical - 0 is neither of those).
How to fix it depends on your intent. Starting your for loop indexed from 2 instead of 1 would remove the error but may not be the solution you want.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!