2016-11-08 189 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