Extracting elements from a matrix based on the maximum position in another matrix

5 ビュー (過去 30 日間)
Madan Kumar
Madan Kumar 2017 年 8 月 18 日
回答済み: José-Luis 2017 年 8 月 18 日
Hi, I have matrices A(100x96) and B(100x96). My aim is to find the value of element in A corresponding to position of max in B. [M, J]=max(B); % M gives max values and J gives position corresponding to max value of B. M & J have 1x96 dimension. Now I have to find values of A for position J. I know if manually I do like, A(J(1),1), A(J(2),2).. would give me required elements of A (but not suitable for large dimension). How to solve?Any suggestions. Thank you so much.

採用された回答

KL
KL 2017 年 8 月 18 日
arrayfun(@(j,f) A(j,f), J,1:size(A,2))

その他の回答 (1 件)

José-Luis
José-Luis 2017 年 8 月 18 日
a = rand(100,96);
b = rand(100,96);
[~,idx] = max(b);
result = a(sub2ind(idx,1:size(a,2)))

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by