ismember cell array of string and double vector
11 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
gianluca mattei
il 10 Giu 2016
Risposto: gianluca mattei
il 10 Giu 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 Commenti
Guillaume
il 10 Giu 2016
Modificato: Guillaume
il 10 Giu 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)?
Risposta accettata
Guillaume
il 10 Giu 2016
Modificato: Guillaume
il 10 Giu 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 Commenti
Più risposte (1)
Vedere anche
Categorie
Scopri di più su Data Type Conversion in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!