MATLAB如何不用for循环求解矩阵每行或者每列不重复的元素

这是求解矩阵每行的不重复元素

A=sparse([0 1 0 0 1;2 1 0 3 0;1 2 0 0 2;0 3 1 0 0]); %data
[ii,~,vv]=find(A);
uniq=accumarray(ii(:),vv(:),[],@(x){unique(x.')});

稍加修改,就成了求解矩阵每列的不重复元素

A=sparse([0 1 0 0 1;2 1 0 3 0;1 2 0 0 2;0 3 1 0 0]); %data
[~,ii,vv]=find(A);
uniq=accumarray(ii(:),vv(:),[],@(x){unique(x.')});

直接得到所需的结果,以元胞数组的形式进行展示

你可能感兴趣的:(matlab,matlab,矩阵)