2010-02-22 76 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});