我有一个n x m矩阵,每行分别有-1s和1s。
我希望找到遍历每一行的-1s和1s的列索引。
输出应该是大小为n x m的矩阵
M = [1 1 -1 1 -1; -1 1 1 -1 1; 1 -1 1 -1 -1];
我尝试了以下运气
inputMatrix=M(1:end,:);
outputMatrix=zeros(size((M)));
for i =1:size(M,1)
temp=zeros(size((M)));
[~,j] = find(M == -1);
outputMatrix=j;
end
预期结果应该是
outputMatrix = [1 2 4; 2 3 5; 1 3]
答案 0 :(得分:0)
结果不能是矩阵,如注释中所述。您可以使用单元格数组:
M = [1 1 -1 1 -1;-1 1 1 -1 1 ;1 -1 1 -1 -1];
[ii, jj] = find(M==1);
result = accumarray(ii, jj, [size(M,1) 1], @(x) {sort(x.')});
这给
>> celldisp(result)
result{1} =
1 2 4
result{2} =
2 3 5
result{3} =
1 3