MATLAB能否基于另一列中的整数值创建一个单词列?

4个视图(过去30天)
我正在解析几个文本文件中的数据列。其中一列数据属于子程序集id,其值的范围可能在2到103之间。根据文本文件的大小,许多这些值可以很容易地重复许多次。还值得注意的是,并非所有已知的子程序集id都出现在每个文本文件中,而且它们并不总是按数字顺序出现。虽然每个子程序集ID的命名法已知,但它们从未包含在文本文件中。
已知的子组件ID值为2、3、6、8、9、10、14、22、23、24、39、42、43、44、47、48、100、101、102和103。
其中一个例子是:Sub_ID = [2;3;3;9;2;6;23;23;23;42岁; 100; 8; 42; 43; 43; 8];
有没有一种方法,我可以告诉MATLAB自动创建一列的词(在这种情况下的命名法),为每一个和每一个Sub_ID值?
如果成功,结果将如下所示:
2 Sub_ID2
3 Sub_ID3
3 Sub_ID3
9 Sub_ID9
2 Sub_ID2
6 Sub_ID6
23 Sub_ID23
23 Sub_ID23
23 Sub_ID23
42 Sub_ID42
100年Sub_ID100
8 Sub_ID8
42 Sub_ID42
43 Sub_ID43
43 Sub_ID43
8 Sub_ID8
任何关于如何处理这一问题的想法都非常感谢。
谢谢你!

接受的答案

Azzi Abdelmalek
Azzi Abdelmalek 2013年10月10日
Sub_ID = [2;3;3;9;2;6;23;23;23;42岁; 100; 8; 42; 43; 43; 8];
k = 1:元素个数(Sub_ID)
出k {1} = sprintf (“Sub_ID % d 'Sub_ID (k))
结束
2的评论
1月
1月 2013年10月11日
当然,像往常一样,提前分配是必要的。所以不要忘记初始化数组 由:
out = cell(numel(Sub_ID), 1);

登录发表评论。

更多的答案(2)

乔斯(10584)
乔斯(10584) 2013年10月10日
让我们来看看 sprintf 而且 arrayfun
IDvalues = [1 3 100 12]
IDnames = arrayfun(@(x) sprintf(“Sub_ID % d ', IDvalues x)“联合国”, 0)
IDnames是一个单元格数组。

1月
1月 2013年10月11日
编辑:1月 2013年10月11日
第三个想法是:
Str = sprintf (“Sub_ID % d *”, Sub_ID);
= regexp (Str (1: end-1),‘*’“分裂”);
但是“结果看起来像这样”可能有完全不同的意思,也许:
Sub_ID = [2;3;3;9;2;6;23;23;23;42岁; 100; 8; 42; 43; 43; 8] .';
流(“% Sub_ID % d \ n”, cat(1, Sub_ID, Sub_ID))

标签

2022世界杯八强谁会赢?

世界杯预选赛小组名单社区寻宝

在MATLAB中央找到宝藏,并发现社区可以如何帮助你!世界杯预选赛小组名单

开始狩猎!

Baidu
map