2016-11-08 7 views

答えて

2

ビットより一般的な:R2016b前

MATLAB:

B = bsxfun(@eq, A, (1:size(A,1)).'); 

MATLAB R2016b以降:

B = (A == (1:size(A,1)).'); 
1
k = size (A) ; 
for i = 1 : k(1) 
    for j = 1 : k(2) 
     if (A(i,j) == i) 
      A(i,j) = 1; 
     else 
      A(i,j) = 0 ; 
     end 
    end 
end 

stewieの提案ごとなどの代替:

bsxfun (@eq, A, [1,1,1;2,2,2;3,3,3]) 
+0

@StewieGriffin:私は彼の質問を正しく読まなかったのは間違いでした。しかし、私は答えにあなたの提案に基づいていくつかのコードを追加しました。ありがとう – User1551892

関連する問題