Azzera filtri
Azzera filtri

Combine two matrices (100 x 1), then find data corresponding to specific rows?

1 visualizzazione (ultimi 30 giorni)
So I have two matrices, each one (100 x 1).
They are equal in regards to their columns and rows, so I'm assuming that saves some headaches. I need to combine them so I can look up requirements in let's say column A, so I can get the corresponding value from column B.
How would I go about combining the two so I can look up values in one to get the corresponding information from the other column in the same row? I want the final matrix two be 100 x 2 , one column being matrix A values, and the second column being matrix B values. Thank you.

Risposta accettata

Image Analyst
Image Analyst il 8 Ott 2013
rowsToExtract = (some expression giving a logical vector)
extractedRows = [A(rowsToExtract ), B(rowsToExtract);
For a concrete example:
% Create data
A = randi(9, 100, 1);
B = randi(9, 100, 1);
% Create the selection criteria:
rowsToExtract = A>=8
% Get values from both A and B in a single array
% that meet the criteria.
extractedRows = [A(rowsToExtract ), B(rowsToExtract)]
  1 Commento
Paul
Paul il 8 Ott 2013
Thank you once again!
How would I go about extracting data from one column based on the criteria of the other column.
For example, in column A, I have a few NaN values, after setting up my own criteria for this column. Column B has a its own values from randn values.
I now want to calculate the average of column B, but only rows that have a corresponding value in column A. Thus, if any value in column B corresponds to a NaN value in column A, I want to exclude that value from my average.
I'm tinkering around with the find function, but no luck yet.

Accedi per commentare.

Più risposte (1)

James Tursa
James Tursa il 8 Ott 2013
C = [A B];

Community Treasure Hunt

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

Start Hunting!

Translated by