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 で Matrix Indexing についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

