ismember cell array of string and double vector
11 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
gianluca mattei
el 10 de Jun. de 2016
Respondida: gianluca mattei
el 10 de Jun. de 2016
Hi all, I have one cell array
list_1={'34172','36582','482','52792'}
and a double vector
vector_1=[21312,782,482,132]
how to know which element of cell array is present in vector_1 and viceversa?
2 comentarios
Guillaume
el 10 de Jun. de 2016
Editada: Guillaume
el 10 de Jun. de 2016
Is vector_1 equal to ['21312','782','482','132'] (which is simply the string '21312782482132', or equal to [21312, 782, 282, 132] (with no quotes), a vector of numbers?
The two are very different.
And is vector_1 a cell array (as per the title of your question) or a matrix (as per your example)?
Respuesta aceptada
Guillaume
el 10 de Jun. de 2016
Editada: Guillaume
el 10 de Jun. de 2016
See my comments to your question, the example you provide does not match the title of your question. Assuming:
list_1 = {'34172', '36582', '482', '52792'};
vector_1 = [21312, 782, 282, 132];
You need to convert the type of one to the type of the other in order to compare them. So either convert the cell array of strings into a vector of number
list_1_as_numbers = str2double(list_1);
ismember(list1_as_numbers, vector_1)
or convert the numbers to string:
vector_1_as_string = sprintfc('%d', vector_1); %warning: sprintfc is not officially supported
%officially supported version is:
%vector_1_as_string = arrayfun(@(n) sprintf('%d', n), vector_1, 'UniformOutput', false);
ismember(list1, vector1_as_string)
0 comentarios
Más respuestas (1)
Ver también
Categorías
Más información sobre Data Type Conversion 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!