如何在循环中读取具有某些模式的多个文件?

时间:2013-11-09 05:25:16

标签: matlab io

我的../Data/目录中有51个文件。它们被命名为output_t0.dat,output_t1.dat,output_t2.dat等,直到output_t50.dat。 我有一个函数,它将filepath作为参数,并使用fopen打开它。

  fname4='/home/...../Data/output_t46.dat';
  fname3='/home/...../Data/output_t47.dat';
  fname1='/home/...../Data/output_t48.dat';
  fname2='/home/...../Data/output_t49.dat';

  D1=getvar(fname1,sim,mesh,V,sim.nsaves);
  D2=getvar(fname2,sim,mesh,V,sim.nsaves);
  D3=getvar(fname3,sim,mesh,V,sim.nsaves);
  D4=getvar(fname4,sim,mesh,V,sim.nsaves);

忽略其他参数。现在必须打开所有51个文件并将其保存到矩阵中而不是单个变量D1,D2。 我试过这个:

list_of_files=dir(fullfile('/home/.../Data/'));
for i=3:length(list_of_files)

    list_of_files(i).name
end

但这只是给我文件名,我不能在功能上调用它。

1 个答案:

答案 0 :(得分:0)

只需在matlab中使用Load命令:

>> load my_xy.dat;     %  read data into the my_xy matrix
>> x = my_xy(:,1);     %  copy first column of my_xy into x
>> y = my_xy(:,2);     %  and second column into y

当你使用load命令时,它会自动创建一个带有文件名的矩阵, 查看此示例以获取更多参考: http://web.cecs.pdx.edu/~gerry/MATLAB/plotting/loadingPlotData.html#loadAndPlot

此致