如果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
或dir
,弥补你要使用的文件的列表,并创建一个循环调用依次在每个文件的上述功能。
您无法从m文件“加载”变量。但是,您可以保存并从mat-file中加载矩阵M.你应该检查'save'和'load'文件 – sebastian