allenfieldin 发表于 2012-4-4 16:57

matlab如何通过循环自动识别文件名并读取文件数据?

这个问题很具有实际意义,我和师兄讨论了很久,一直没解决,请坛内高手指点一下。
问题是这样的:
我有一大堆的实验数据,命名形式比如为:data_a_b_c.txt
其中a,b,c是工况数,如a=1:2:7,b=1:1:5,c=1:1:3;
我想按a,b,c顺序用循环读取每个文件的数据,处理好后再做相应的存储,关键在于字符串如何转化成数字的问题,不知道各位有好的建议没有?各位可以建比较简单的文件试一试?

xiezhh 发表于 2012-4-4 17:45

回复 1 # allenfieldin 的帖子

给一个生成文件名的代码,生成的文件名中不会有多余的空格:

>> a = 6:2:12;
b = 1:1:5;
c = 1:1:3;
= meshgrid(a,b,c);
xs = arrayfun(@(i)num2str(x(i)),(1:numel(x))', 'UniformOutput',0);
ys = arrayfun(@(i)num2str(y(i)),(1:numel(y))', 'UniformOutput',0);
zs = arrayfun(@(i)num2str(z(i)),(1:numel(z))', 'UniformOutput',0);
filename = strcat('data_',xs,'_',ys,'_',zs,'.txt')

filename =

    'data_6_1_1.txt'
    'data_6_2_1.txt'
    'data_6_3_1.txt'
    'data_6_4_1.txt'
    'data_6_5_1.txt'
    'data_8_1_1.txt'
    'data_8_2_1.txt'
    'data_8_3_1.txt'
    'data_8_4_1.txt'
    'data_8_5_1.txt'
    'data_10_1_1.txt'
    'data_10_2_1.txt'
    'data_10_3_1.txt'
    'data_10_4_1.txt'
    'data_10_5_1.txt'
    'data_12_1_1.txt'
    'data_12_2_1.txt'
    'data_12_3_1.txt'
    'data_12_4_1.txt'
    'data_12_5_1.txt'
    'data_6_1_2.txt'
    'data_6_2_2.txt'
    'data_6_3_2.txt'
    'data_6_4_2.txt'
    'data_6_5_2.txt'
    'data_8_1_2.txt'
    'data_8_2_2.txt'
    'data_8_3_2.txt'
    'data_8_4_2.txt'
    'data_8_5_2.txt'
    'data_10_1_2.txt'
    'data_10_2_2.txt'
    'data_10_3_2.txt'
    'data_10_4_2.txt'
    'data_10_5_2.txt'
    'data_12_1_2.txt'
    'data_12_2_2.txt'
    'data_12_3_2.txt'
    'data_12_4_2.txt'
    'data_12_5_2.txt'
    'data_6_1_3.txt'
    'data_6_2_3.txt'
    'data_6_3_3.txt'
    'data_6_4_3.txt'
    'data_6_5_3.txt'
    'data_8_1_3.txt'
    'data_8_2_3.txt'
    'data_8_3_3.txt'
    'data_8_4_3.txt'
    'data_8_5_3.txt'
    'data_10_1_3.txt'
    'data_10_2_3.txt'
    'data_10_3_3.txt'
    'data_10_4_3.txt'
    'data_10_5_3.txt'
    'data_12_1_3.txt'
    'data_12_2_3.txt'
    'data_12_3_3.txt'
    'data_12_4_3.txt'
    'data_12_5_3.txt'

allenfieldin 发表于 2012-4-5 18:26

回复 2 # xiezhh 的帖子

这个挺好使,呵呵((em:08))
页: [1]
查看完整版本: matlab如何通过循环自动识别文件名并读取文件数据?