2010-02-22 77 views

回答

6

制作另一个M文件,并将20个现有M文件的所有名称都放在该文件中。

如果您希望它们在启动时运行,请将它们放入启动目录中的startup.m(请参阅doc startup)。

如果他们有系统的名称,你可以把下面的循环:

[y1, y2, ...] = feval(function, x1, ..., xn) 

其中function是,您在循环发展的字符串。

编辑:如果M-文件的脚本,而不是功能更安全的未来版本使用方法:

eval(s) 

其中s是脚本的名称。

4

有很多方法,取决于你想要的行为。对于这类东西,MATLAB是一个非常灵活的环境。如果你的文件在C:\工作\ myTwentyFiles,创建一个新的文件“runMyFiles.m”含

function runMyFiles() 
myDir = 'c:\work\myTwentyFiles'; 

d = dir([myDir filesep '*.m']); 
for jj=1:numel(d) 
    try 
     toRun = fullfile(myDir, d(jj).name); 
     fprintf('Running "%s"', toRun); 
     run(toRun) 
    catch E 
     % Up to you! 
    end 
end 

,然后使用“-r”选项,以使MATLAB自动运行这个文件:

matlab -r runMyFiles 

还有很多其他的变化 - 在MATLAB文件的硬编码位置看起来没有吸引力对于初学者...

就看准了更新的问题:另一种选择是使用的功能单元阵列打电话

d = {'myfun1','myfun2', 'myfun3'}; 

,并做一些类似上述例子的东西 - 你需要“托伦”的定义更改为类似

toRun = fullfile(myDir, d{jj});