How to run multiple programs
조회 수: 20 (최근 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'};
참고 항목
카테고리
Help Center 및 File Exchange에서 Write Unit Tests에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!