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

1 Ansicht (letzte 30 Tage)
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.

Akzeptierte Antwort

Image Analyst
Image Analyst am 8 Okt. 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 Kommentar
Paul
Paul am 8 Okt. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

James Tursa
James Tursa am 8 Okt. 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