Effacer les filtres
Effacer les filtres

Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

how to get the same elements from many different vectors and each index for each vectors?

1 vue (au cours des 30 derniers jours)
vx2008
vx2008 le 8 Fév 2017
Clôturé : MATLAB Answer Bot le 20 Août 2021
for example, now I have three vectors as below:
v1=['a','b','c','d','e','f']; v2=['a','c','d','f','g']; v3=['c','d','e','j'];
Now I want to get the same elements ['c','d'] and index1=[3,4],index2=[2,3],index3=[1,2];
Is there some good function for this?

Réponses (1)

KSSV
KSSV le 8 Fév 2017
doc intersect
clc; clear all ;
v1=[{'a'},{'b'},{'c'},{'d'},{'e'},{'f'}];
v2=[{'a'},{'c'},{'d'},{'f'},{'g'}];
v3=[{'c'},{'d'},{'e'},{'j'}];
[a1,b1,c1] = intersect(v1,v2) ;
[a2,idx2,idx3] = intersect(a1,v3) ;
[common,idx1,c3] = intersect(v1,a2) ;
common
idx1
idx2
idx3
  4 commentaires
Stephen23
Stephen23 le 8 Fév 2017
Modifié(e) : Stephen23 le 8 Fév 2017
@KSSV: why make this so complicated?:
v1=[{'a'},{'b'},{'c'},{'d'},{'e'},{'f'}];
why not simply write the cell array itself:
v1 = {'a','b','c','d','e','f'};
which is simpler to read and will make your code faster too.
KSSV
KSSV le 8 Fév 2017
@Stephen yes you are right....thank you for the comment.

Cette question est clôturée.

Community Treasure Hunt

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

Start Hunting!

Translated by