Find min in matrix given specific rows and columns?
23 ビュー (過去 30 日間)
表示 古いコメント
I have a matrix, A, and I want to find the minimum value given specified row and column vectors, r and c. I also want to return the col and row of that minimum value in A. Any idea how to find the min? Given A, r, and c, the answer for this scenario should be a min value of 1 because it is in row 1, col 1, which is a part of the r and c vectors.
A = [1 12 23 19 1 13;
2 3 13 34 5 75;
5 22 45 5 1 94;
4 5 68 2 5 17;
2 4 34 11 13 92];
r = [1 3 4];
c = [1 2 3];
0 件のコメント
採用された回答
Star Strider
2017 年 8 月 1 日
One approach:
idx = sub2ind(size(A), r', c'); % Define ‘Eligible’ Elements As Linear Index Vector
[minval,minidx] = min(A(:)); % Minimum & Location (Linear Index)
[rmin,cmin] = ind2sub(size(A),intersect(minidx,idx)); % Recover Row, Column Indices Of ‘Eligible’ Minimum
fprintf('\nMinimum of A = %d, at [%2d,%2d]\n', minval, rmin, cmin)
Minimum of A = 1, at [ 1, 1]
その他の回答 (1 件)
Ganesh Hegade
2017 年 8 月 1 日
You can use this.
minRow = min(min(A(r, :)));
minCol = min(min(A(:, c)));
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!