我有两个单元格:
Months1 = {'F','G','H','J','K','M','N','Q','U','V','X','Z'};
Months2 = 2009:2014;
如何在不运行循环的情况下生成所有组合,以便实现以下目标:
Combined = {'F09','F10','F11','',...,'G09',.....};
基本上
Months1
和 Months2
的所有组合都与 meshgrid
相同。 最佳答案
您可以使用 grp2idx
将元胞数组转换为索引,然后使用 meshgrid
和 strcat
组合字符串。在您还需要将数字 Months2
向量转换为字符串元胞数组之前。
[id1,id2] = meshgrid(grp2idx(Months1),Months2);
Months2cell = cellstr(num2str(id2(:)-2000,'%02d'))';
Combined = strcat( Months1(id1(:)), Months2cell );
关于string - 字符串的 meshgrid 等效项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22819715/