Can a function inside a parent code access the full workspace of that parent code?

13 visualizzazioni (ultimi 30 giorni)
I have a child function being called inside the original code. Can I have the function be able to access all of the variables (workspace) from the original code? If so, how?

Risposta accettata

Evan
Evan il 30 Lug 2013
Modificato: Evan il 30 Lug 2013
A nested function can access the variables stored in the workspace of its caller function:
function x = outer_function(a,b)
x = inner_function;
function y = inner_function
y = a + b;
end
end
>> outer_function(2,3)
ans =
5
  1 Commento
Walter Roberson
Walter Roberson il 30 Lug 2013
Note: this strategy cannot be used to access a variable which exists in the caller function if the same variable name appears in an input or output position in the "function" declaration of the inner function.

Accedi per commentare.

Più risposte (1)

Walter Roberson
Walter Roberson il 30 Lug 2013
evalin('caller', 'who') to find the list of variables, and further evalin('caller') to get each of the values.

Categorie

Scopri di più su Workspace Variables and MAT-Files 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!

Translated by