Index from one vector to different sized vector

1 visualización (últimos 30 días)
koscar
koscar el 12 de Sept. de 2020
Comentada: koscar el 20 de Nov. de 2020
I have a 582x1 column vector and a 3190x2 matrix. I want to extract only those rows of the matrix whose column 1 entry has the same value as any entry in the 582 vector. I can't figure out how to index in this way. I tried changing the size of the column vector to 3190, but it still only compared the entries with the same indexes.

Respuesta aceptada

Walter Roberson
Walter Roberson el 12 de Sept. de 2020
selected_rows = array3190(ismember(array3190(:,1), vector582),:);
  1 comentario
koscar
koscar el 20 de Nov. de 2020
Thanks. I found that the interp function worked well for what I was trying to do.
data1 = interp1(array3190_col1,array3190_col2,vector582)

Iniciar sesión para comentar.

Más respuestas (1)

Asad (Mehrzad) Khoddam
Asad (Mehrzad) Khoddam el 12 de Sept. de 2020
% v1 the first vector
% v2 the matrix
[~, ~, i2] = intersect(v1, v2(:,1));
newMatrix = v2(t2,:);

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by