如果prog1
并且prog2
还不是函数,请将它们重写为函数。例如,其中的第一行可能如下所示:
function [out1 out2] = prog1(M)
function out = prog2(M)
然后,编写第三个函数,给定文件名,加载数据、调用prog1
并可prog2
选择以适当的形式保存数据(您可以使用fileparts
和fullfile
根据输入自动创建新文件名 - 例如给定 data101.txt,返回data101_proc.mat. 这样一个函数的基本原理是这样的:
function M = prog3(fname)
M = load(fname); % or whatever method is required for loading this data
%call prog1 and prog2
[out1 out2] = prog1(M);
out3 = prog2(M);
%make new filename
[fpath,fname2,ext] = fileparts(fname);
fname_out = fullfile(fpath, [fname2,'_out','.mat']);
%save data - depends on what outputs are and what you need to do with them later
save(fname_out, 'out1','out2','out3','M');
end
最后,正如 babaea 所提到的,您可以使用ls
or dir
,组成您要使用的文件的列表,并创建一个循环,依次在每个文件上调用上述函数。