Keep a variable in workspace when calling a function
30 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
My question is how to keep a variable in a called function into the workspace.
I was told the code can be written using persistent memory inside the function.
As known, when calling a function, all the variables will be cleared after the function is called, i.e., no variables will appear in workspace.
Can anybody tell me how to work on it.
Thanks in advance.
1 Commento
Sven
il 12 Nov 2011
Yes, there is a thing called a "persistent variable".
Is this what you would like to use?
Risposte (3)
Andrej Sternin
il 11 Apr 2020
https://de.mathworks.com/help/matlab/matlab_prog/base-and-function-workspaces.html
0 Commenti
the cyclist
il 12 Nov 2011
I don't perfectly understand what you mean, but I can think of three possibilities that might help you:
- Send the variable as output
- Use a global variable
- Use the assignin() function
You should easily be able to find information about all of these in the documentation.
0 Commenti
Jonathan
il 12 Nov 2011
The code below uses a persistent variable. The first time the function is run, the variable is given the value [] (the empty matrix).
function out = testPersistent()
persistent x
if isempty(x)
x = 1;
else
x = x + 1;
end
out = x;
end
When I run the function several times, this is what the output looks like.
>> testPersistent()
ans = 1
>> testPersistent()
ans = 2
>> testPersistent()
ans = 3
I hope this helps.
0 Commenti
Vedere anche
Categorie
Scopri di più su Whos in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!