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