Extracting info from multiple matrices

Hello,
Wondering if anyone could suggest a simple way to extract info from matrix B based on Matrix A. I have two "correponding" matrices, info in Matrix A relate to info in Matrix B:
A=[1.02 0.2; 2.2 0.4; 0.5 0.6; 4.8 0.5; 1.5 0.3];
B=[58 63 27 1 478];
In this case, I need to identify the maximum value in Matrix A column 2, and then extract the associated info from Matrix B
Maxi=max(A(:,2));
Maxi =0.6, which correspond to 3rd row of Matrix A, and the to 3rd row of Matrix B, or in this case the value = 27
This is a very simple example, as my matrices are very large.
Your suggestions are very appreciated.

 Akzeptierte Antwort

madhan ravi
madhan ravi am 17 Nov. 2018
Bearbeitet: madhan ravi am 17 Nov. 2018

0 Stimmen

A=[1.02 0.2; 2.2 0.4; 0.5 0.6; 4.8 0.5; 1.5 0.3];
B=[58 63 27 1 478];
[value,idx]=max(A(:,2))
B(idx) %corresponding value in B

4 Kommentare

Robert
Robert am 17 Nov. 2018
Thank you for your quick response, very appreciated!
madhan ravi
madhan ravi am 17 Nov. 2018
Anytime :)
M.Prasanna kumar
M.Prasanna kumar am 20 Aug. 2019
here only two matrices are there A and B
suppose if there are 10 matrices A, B,C,D,E,F,G,H,IJ and same operation sholud be done as u explaines in the code how to do that?? please help
Stephen23
Stephen23 am 20 Aug. 2019
Bearbeitet: Stephen23 am 20 Aug. 2019
M.Prasanna kumar wrote: "suppose if there are 10 matrices A, B,C,D,E,F,G,H,IJ and same operation sholud be done as u explaines in the code how to do that?"
As always in such situations, the solution is to organize the data in one array, e.g. a cell array, and then trivially use indexing (which is simple and efficient). Here is an example using cellfun, but you could easily use a loop too:
[~,idx] = max(A)
out = cellfun(@(m)m(idx),{B,C,D,E,F,G,H,I,J},'uni',0)
Adjust the dimensions and indexing to suit your arrays.
See also original question from M.Prasanna kumar:

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Gefragt:

am 17 Nov. 2018

Bearbeitet:

am 20 Aug. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by