Hi all
i want to run a genetic algorithm code multiple time(for example twice), and in each run save the result. can anyone help me???

 Akzeptierte Antwort

Bjorn Gustavsson
Bjorn Gustavsson am 3 Feb. 2021
Bearbeitet: Bjorn Gustavsson am 3 Feb. 2021

0 Stimmen

Sometimes I solve this problem this way:
if ~exist('run_idx.mat',2)
run_idx = 1;
save run_idx.mat;
else
load('run_idx.mat','run_idx')
run_idx = run_idx+1;
end % This gives you a run-index that you can increment in subsequent runs
%% Your other initializations
% Loop of genetic stuff
for i1 = 1:12, % Whatever you want
results = your_GA(input,arguments,etc);
savefilename = sprintf('your_GA_results-%02d.mat',run_idx)
save(savefilename,'results')
run_idx = run_idx+1;
save run_idx.mat;
end
This gives you a design where you incrementally count up the run-index so that all files saved get numbered, in addition by saving the incremented index you can continue in a following matlab-session and not overwrite the previous files.
HTH

3 Kommentare

hi Bjorn Gustavsson
Thank you for your response.
Can you explain with a simple example?
I did not notice.
My code snippet shows one way to run a function or process multiple times and then save the results in numbered files. That is what you asked for. I did not include any calls to genetic algorithms or the like. That part I assume you can insert in the appropriate place in the loop.
thanks

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by