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

15 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

KL
KL am 18 Aug. 2017
arrayfun(@(j,f) A(j,f), J,1:size(A,2))

Weitere Antworten (1)

José-Luis
José-Luis am 18 Aug. 2017
a = rand(100,96);
b = rand(100,96);
[~,idx] = max(b);
result = a(sub2ind(idx,1:size(a,2)))

Kategorien

Mehr zu Operators and Elementary Operations finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by