MATLAB: Is it possible to dereference a string variable inside evalin()

MATLAB

For example inside a function I have:
VAR_A = 'somevar_in_base';
% I want to test if 'somevar_in_base' by name exist in 'base' workspace
evalin('base', 'exist(''VAR_A'', ''var'')')
local = evalin('base', 'VAR_A');
Above lines do not extend "VAR_A". Is it possible to get what I want with minor changes or should I avoid coding this way?
Thanks,

Best Answer

  • evalin('base', sprintf('exist(''%s'', ''var''), VAR_A) )
    evalin('base', VAR_A)
    You could also consider
    try
    local = evalin('base', VAR_A);
    catch
    %do whatever as it does not exist
    end