【发布时间】:2015-05-07 09:02:21
【问题描述】:
我有 2 个字符串单元矩阵,我想比较和排序。例如:
Data1={'hello','daddy','mama';'0','55','60';'asd','','dwadsdwa'};
Data2={'cat','daddy','dog','cat','mama','daddy';'21','54','79','1','0','231';'sa','wda','thjd','gf','wda','sda'};
我想比较矩阵的第一行并使用匹配的元素及其列创建一个新的结果矩阵。喜欢:
matches={'daddy','daddy','daddy','mama','mama';'55','54','231','60','0';'','wda','sda','dwadsdwa','wda'};
我试过了:
Da1Index=find(ismember(Data1(1,:),Data2(1,:)));
Firstmatches=Data1(:,Da1Index);
Da2Index=find(ismember(Data2(1,:),Data1(1,:)));
Secondmatches=Data2(:,Da2Index);
所以我会在其他 2 个 Cell 矩阵中获得匹配的元素及其列。现在我可以在 Secondmatches 单元格数组中搜索 Firstmatches 的每个名称元素,但我想知道是否有更好的方法? 另外我不知道如何将列添加到正确的位置。
也许有更简单的方法可以做到这一点?我希望很清楚我想要实现的目标!
【问题讨论】: