使用filename中的数字创建变量

时间:2013-11-01 18:55:27

标签: matlab loops for-loop numbers extract

我有一个装满xls文件的文件夹,名为data_00001到data_10000。每个文件都有十几个同名的标签,里面装满了RV。我有兴趣阅读所有文件和标签,并创建RV的直方图。

有没有办法读取文件名的最后5位数字并将它们附加到每个标签名称(我保存为变量)?

我使用regexp将数字提取为字符串并将其转换为double,并使用for循环来保存变量X{1,k}。如何将保存的双精度合并到此变量中?

1 个答案:

答案 0 :(得分:0)

你在找这样的东西吗?

filenames = ['data_00001','data_10000'];
nums = regexp(filenames, '[0-9]+', 'match');
tag = 'TAG';
for i=1:size(nums,2)
  eval(['A_' tag '_' sprintf("%s",nums{1,i}) ' = zeros(1)']);
end

它使用变量名

创建矩阵(在本例中为零)
A_TAG_00001 = 0
A_TAG_10000 = 0