How to run multiple programs
10 ビュー (過去 30 日間)
古いコメントを表示
Hi,
Anybody know a code to run (say) 3 programs one after another without having to give a command to run each program please?
What I want is something like the following
for i=1:3
test(i).m;
end
Thanks
0 件のコメント
採用された回答
José-Luis
2014 年 10 月 23 日
Just put in an .m file (script):
test1; %you don't even need the .m here
test2;
test3;
And your three programs will run consecutively, provided they are in the path or the current folder.
6 件のコメント
Geoff Hayes
2014 年 10 月 24 日
dav - so your main script is named okkoma.m and you want to run the two (or more) scripts named test1,test,etc.
Then, the code within the okkoma.m should be what José-Luis proposed earlier
your_string = 'test';
for ii = 1:2
current_prog = [your_string num2str(ii)];
run(current_prog)
end
which will call run on the scripts test1, test2, etc.
その他の回答 (1 件)
Geoff Hayes
2014 年 10 月 23 日
Dav - it seems that you could use the run command to do this. If test is a cell array of strings with each string corresponding to a "program" (script or function with no arguments), then try
test = {'whos','what'};
for k=1:length(test)
run(char(test{k}));
end
If you run the above, the first command (whos) will list all variables in the workspace, and the second command (what) will list the MATLAB files in the folder.
3 件のコメント
Geoff Hayes
2014 年 10 月 24 日
dav - it wasn't clear from your question what the names of are your scripts were. So in the above example, I created an array of strings where each string corresponded to a script. In this case, I used the built-in MATLAB functions whos and what. length is used to determine how many programs/scripts should be run (since the length(test) is two), and then we call run on each element of test. This could easily have been set to
test = {'test1', 'test2', 'test3'};
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!