我的../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
但这只是给我文件名,我不能在功能上调用它。
答案 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
此致