How to find index of a minimum value starting from the end
2 次查看(过去 30 天)
显示 更早的评论
I have this code:
A =
1 2 3 4 5 6 7 8 9 1 1 1 1
1 2 3 4 5 6 7 8 9 1 1 1 9
1 2 3 4 5 6 7 8 9 1 1 2 3
1 2 3 4 5 6 7 8 9 1 1 1 1
1 2 3 4 5 6 7 8 9 1 1 1 5
1 2 3 4 5 6 7 8 9 1 1 1 3
1 2 3 4 5 6 7 8 9 1 1 2 3
B = min(A')
B =
1 1 1 1 1 1 1
index = find(A'==B, 1, 'last')
index =
89
What I want is to get the indices of the smallest number starting from the end of each row. The answer should look like this
index =
13 12 11 13 12 12 11
Thanks, George.
0 个评论
采纳的回答
José-Luis
2017-8-23
A = randi(10,10);
A_min = min(A,[],2);
dummy = bsxfun(@eq,A,A_min);
dummy = bsxfun(@times,dummy,1:size(A,2));
result = max(dummy,[],2)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!