Problem with "Intersect" function
9 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hellow everyone! I have 2 cells.
A = '1,2,3';
B= '1,4,5,6';
But, When i try to use intersect function to get the common element(s) as my result, say
C = intersect(A, B);
I am getting an empty cell like this.
C =
Empty cell array: 1-by-0
Kindly help me, My result shall show like
C='1'
Your help will be highly appreciated!
4 commentaires
Réponse acceptée
Jan
le 22 Juin 2017
Modifié(e) : Jan
le 22 Juin 2017
But the shown code works:
A = '1,2,3';
B = '1,4,5,6';
C = intersect(A, B);
% C = ',1' % The commonly appearing characters ',' and '1'
According to the posted code, A and B are not cells, but char vectors, also called strings.
If you want to treat the numbers as numbers:
An = sscanf(A, '%g,');
Bn = sscanf(B, '%g,');
Cn = intersect(An, Bn)
% C = 1
If A and B are cells, use "A{1}" and "B{1}" instead.
It depends on your specific problem if the input data should be
A = {'1','2','3'};
or
A = [1,2,3]
Most likely you do not have to convert the cell string {'1,2,3'}, if you choose the rigth method to obtain the data at the beginning. Where do these data come from?
0 commentaires
Plus de réponses (1)
KSSV
le 22 Juin 2017
A = [1,2,3] ;
B = [1,4,5,6];
intersect(A,B)
OR
A = '1,2,3';
B= '1,4,5,6';
intersect(str2num(A),str2num(B))
1 commentaire
Voir également
Catégories
En savoir plus sur Characters and Strings dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!