clear a MATLAB function after an episode

1 vue (au cours des 30 derniers jours)
Abdul Basith Ashraf
Abdul Basith Ashraf le 8 Avr 2021
There is a persistent variable in a function and I need to clear it before every episode of deep RL training. How do I achieve this?
The path of the function is
[mdl "/Check if Done/MATLAB Function"]
Thanks

Réponses (1)

Julius Muschaweck
Julius Muschaweck le 8 Avr 2021
Modifié(e) : Julius Muschaweck le 8 Avr 2021
Assuming your function has the name f, you can use clear f; to clear persistent variables within f.
Like here:
function f()
persistent p
if isempty(p)
p = 42;
fprintf('p was empty, now p == %g\n',p)
else
p = p+1;
fprintf('p == %g\n',p);
end
end
If you then execute
f();
f();
f();
clear f;
f();
f();
you will get
p was empty, now p == 42
p == 43
p == 44
p was empty, now p == 42
p == 43

Catégories

En savoir plus sur Introduction to Installation and Licensing dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by