why no statistic in workspace
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Hello, everyone. I have a strange problem.
I write a function
function cubic_cardinal_Bspline_interpolation(f, x_l, x_r)
and input in the command window:
cubic_cardinal_Bspline_interpolation(@(x)1/(1+x^2), -5, 5)
the function runs normally but the workspace is empty, what's wrong? I suppose all statistics will be recorded in the workspace??
1 Commento
Risposte (1)
Steven Lord
il 21 Mag 2019
Nothing is wrong, this is the expected behavior for functions. From the documentation, "Functions have their own workspace, separate from the base workspace. Therefore, none of the calls to the function triarea overwrite the value of a in the base workspace. Instead, the function assigns the results to variables a1, a2, and a3."
Any variables you define in the workspace of a call to the cubic_cardinal_Bspline_interpolation function remain in that workspace until the function call exits. At that point, any variables you've declared the function to return are returned to its caller and any variables you haven't declared as an output argument cease to exist. [This is a bit of an oversimplification, but I'm trying not to complicate matters too much by getting into the exceptions.] You haven't declared your function to return any output arguments, so its entire workspace gets discarded. As stated on this documentation page:
If there is no output, you can omit it.
function myFunction(x)
This behavior is different than the behavior for scripts, which work directly in the workspace in which they were called (which at the Command Prompt is the base workspace.)
Vedere anche
Categorie
Scopri di più su Whos in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!