How to save persistent variables after the last call to the function?
조회 수: 2 (최근 30일)
이전 댓글 표시
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
답변 (1개)
Alexandra Harkai
2017년 2월 27일
Without using the save command the persistent variables could be declared as persistent when calling from a function, as explained in the documentation .
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Argument Definitions에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!