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

1 visualización (últimos 30 días)
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.

Respuesta aceptada

Image Analyst
Image Analyst el 8 de Oct. de 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 comentario
Paul
Paul el 8 de Oct. de 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.

Iniciar sesión para comentar.

Más respuestas (1)

James Tursa
James Tursa el 8 de Oct. de 2013
C = [A B];

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by