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

1 vue (au cours des 30 derniers jours)
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.

Réponse acceptée

KL
KL le 18 Août 2017
arrayfun(@(j,f) A(j,f), J,1:size(A,2))

Plus de réponses (1)

José-Luis
José-Luis le 18 Août 2017
a = rand(100,96);
b = rand(100,96);
[~,idx] = max(b);
result = a(sub2ind(idx,1:size(a,2)))

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by