Find min in matrix given specific rows and columns?
33 ビュー (過去 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]
4 件のコメント
その他の回答 (1 件)
Ganesh Hegade
2017 年 8 月 1 日
You can use this.
minRow = min(min(A(r, :)));
minCol = min(min(A(:, c)));
参考
カテゴリ
Help Center および File Exchange で Resizing and Reshaping Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!