0

我的 ../Data/ 目录中有 51 个文件。它们被命名为 output_t0.dat、output_t1.dat、output_t2.dat 等等,直到 output_t50.dat。我有一个将文件路径作为参数并使用 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

但这只是给了我文件名,我不能在函数中调用它。

4

1 回答 1

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

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

问候

于 2013-11-09T05:56:47.757 回答