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

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

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

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)

evalin('caller', 'who') to find the list of variables, and further evalin('caller') to get each of the values.

Categories

Find more on Scope Variables and Generate Names in Help Center and File Exchange

Asked:

on 30 Jul 2013

Community Treasure Hunt

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

Start Hunting!