Batch Processing of a Function with Different Arguments
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
David C
am 13 Okt. 2014
Kommentiert: David C
am 16 Okt. 2014
Hello,
I read the documentation on batch and diary functions, but I could not find the answer. I have a function, longjob(n), which needs to be run for many n values, which are recorded in nVector. I would like to record the output to the screen for each run.
Right now, I'm typing many lines:
someJob1=batch('longjob',1,{nVector(1)})
someJob2=batch('longjob',1,{nVector(2)})
someJob3=batch('longjob',1,{nVector(3)})
...
diary(someJob1) >> job1out.txt
diary(someJob2) >> job2out.txt
diary(someJob3) >> job3out.txt
...
Question: How do I put this in a for loop without using eval? I am not sure how to create a job vector.
Thanks.
0 Kommentare
Akzeptierte Antwort
Thomas Ibbotson
am 14 Okt. 2014
I think code that looks something like this will work:
for jobIdx = 1:length(nVector)
jobs(jobIdx) = batch('longjob', 1, {nVector(jobIdx)});
end
for jobIdx = 1:length(jobs)
% Wait for the job to finish running before getting its output
wait(jobs(jobIdx));
diary(jobs(jobIdx), ['job' num2str(jobIdx) 'out.txt']);
end
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Startup and Shutdown finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!