for i= fileNames i_trace = strcat( ' D:\MATLAB\bin\trc\',i); eval([ ' T ' ,num2str(n), ' = ' , ' load(i_trace{1,1}) ' , ' ; ' ]); n = n+ 1 ;

1、strcat('D:\MATLAB\bin\trc\',i);获取详细路径,如得到:

i_trace = D:\MATLAB\bin\trc\baiyulin_g9.trc

2、eval(['T',num2str(n),'=','load(i_trace{1,1})',';']);

①eval()是将内容赋值给Tn

②load(i_trace{1,1})是读取文件

③i_trace{1,1}中的{1,1}是读取cell格式的文件,方便load加载,不加{1,1}会报错!!!

3、最终得到

变量名为T1至TN的n个储存着该目录下所有对应文件内容的变量

4、亦可以将变量名命名为你想要的名字

方法使用matlab的正则表达式:

name = regexprep(i,'(_)(g)(\d)+(.)(trc)$','');

这个式子可将字符串为‘baiyulin_g9.trc’的转换为‘baiyulin’。

三、最终形式

fileFolder=fullfile('D:\MATLAB\bin\trc');
dirOutput=dir(fullfile(fileFolder,'*.trc'));
fileNames={dirOutput.name};
n = 1;
for i=fileNames
    i_trace = strcat('D:\MATLAB\bin\trc\',i);
    eval(['T',num2str(n),'=','load(i_trace{1,1})',';']);
    n = n+1;