Filter löschen
Filter löschen

Extracting info from multiple matrices

5 Ansichten (letzte 30 Tage)
Robert
Robert am 17 Nov. 2018
Bearbeitet: Stephen23 am 20 Aug. 2019
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
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
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

Mehr zu Matrix Indexing 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