Question of a vlookup equivalent in matlab
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I dont think a vlookup function exists in matlab, but can you guys give me some pointers on how to replicate it? I have a matrix A and vector B, and I want to extract the rows in matrix A into a new matrix C if the A(:,1) is found in vector B. Will I need a loop?
I created C = A( A(:,1) == B(1:end) ,:), but I have a matrix dimesions disagreement. Is there a way to loop through each element of B?
2 comentarios
Matt Kindig
el 4 de Nov. de 2013
I'm not sure I really understand your question. Can you post some sample data and your expected output?
Respuesta aceptada
Cedric
el 5 de Nov. de 2013
Try this:
>> id = ismember(A(:,1), B)
id =
1
0
1
>> C = A(id,:)
C =
1 2 3 4
8 7 8 9
5 comentarios
Andrei Bobrov
el 6 de Nov. de 2013
[la,idx] = ismember(B,A(:,1));
C = A(idx(la),:);
Cedric
el 6 de Nov. de 2013
Yes, I assumed them to be sorted based on the numeric example, but I shouldn't have! Thank you for the comments.
Más respuestas (0)
Ver también
Categorías
Más información sobre Matrix Indexing 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!