How to run multiple programs

24 Ansichten (letzte 30 Tage)
dav
dav am 23 Okt. 2014
Kommentiert: dav am 25 Okt. 2014
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

Akzeptierte Antwort

José-Luis
José-Luis am 23 Okt. 2014
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 Kommentare
dav
dav am 23 Okt. 2014
Bearbeitet: dav am 23 Okt. 2014
I am sorry may be it wasn't clear I named the following code "okkoma"
your_string = 'test';
for ii = 1:2
current_prog = [your_string num2str(ii)];
run(current_prog)
end
But the programs run by the code "okkoma" are named test1, test2...
Is that wrong?
When I did the proposed change I got
Error using run (line 55)
okkoma1 not found.
Error in okkoma (line 5)
run(current_prog)
Thanks much
Geoff Hayes
Geoff Hayes am 24 Okt. 2014
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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Geoff Hayes
Geoff Hayes am 23 Okt. 2014
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 Kommentare
Geoff Hayes
Geoff Hayes am 24 Okt. 2014
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'};
dav
dav am 25 Okt. 2014
Thanks a lot.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Write Unit Tests finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by