clear a MATLAB function after an episode

1 visualización (últimos 30 días)
Abdul Basith Ashraf
Abdul Basith Ashraf el 8 de Abr. de 2021
Editada: Julius Muschaweck el 8 de Abr. de 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

Respuestas (1)

Julius Muschaweck
Julius Muschaweck el 8 de Abr. de 2021
Editada: Julius Muschaweck el 8 de Abr. de 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

Categorías

Más información sobre Introduction to Installation and Licensing en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by