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

12 views (last 30 days)
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?

Accepted Answer

Evan
Evan on 30 Jul 2013
Edited: Evan on 30 Jul 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 Comment
Walter Roberson
Walter Roberson on 30 Jul 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.

Sign in to comment.

More Answers (1)

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

Community Treasure Hunt

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

Start Hunting!