How to save persistent variables after the last call to the function?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a function with some persistent variables, when I am writing the persistent variables (using save command) during each call to the function than it is working fine but when I am using if else logic to write the variables only at the last call to the function then Matlab storing the variables as empty. I have attached the required code segment.
function [y]=fitness5(x)
persistent stor_chrom;
persistent store_fitness;
persistent store_counter;
persistent Population1;
flag=0;
if (isempty(Population1))
load('C:\Users\PC01\Documents\MATLAB\Population2.mat');
Population1 =Population2;
end
if (isempty(store_counter))
store_counter = 0;
end
if (isempty(stor_chrom))
stor_chrom=[];
end
if (isempty(store_fitness))
store_fitness = [];
end
if x==-1
save stor_chrom1.mat stor_chrom store_fitness;
else
%some code......
% update persistent variables
store_counter=store_counter+1;
stor_chrom(store_counter,:)=x;
store_fitness(store_counter,1)=chor_no;
store_fitness(store_counter,2)=fit2;
store_fitness(store_counter,3)=final_gates;
y=fit2;
end
1 commentaire
Réponses (1)
Alexandra Harkai
le 27 Fév 2017
Without using the save command the persistent variables could be declared as persistent when calling from a function, as explained in the documentation .
0 commentaires
Voir également
Catégories
En savoir plus sur Argument Definitions dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!