如何在Matlab中使用多个文件(在同一目录下具有不同文件名)运行相同的代码?

5
我有一千个.dat文件需要用同一个程序运行。是否有更快的方式或脚本可以自动运行它们,而不是逐个运行?这些.dat文件具有不同的文件名。
该程序类似于:
fid=fopen('**abd**.dat');
C=textscan(...);
...
save('**abd**.txt',data);

abd是文件名。我有成千上万个不同文件名的文件。每次将这些文件名复制粘贴到程序中并运行都有点烦人。有没有更快的方法或代码可以解决这个问题?

2个回答

6
您可以使用“dir”命令获取文件列表,然后像以下循环一样处理它们。
fns = dir('*.dat');
for i = 1:length(fns)
    fid = fopen(fns(i).name);
    C = textscan(...);
    fclose(fid);
    save([fns(i).name,'.dat'],data);

end

1
重新思考问题。编写一个脚本来读取包含文件名和字符串的文本文件。这样,您就只需要处理两个文件,而不是成千上万个文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接