MATLAB: ‘run’ command with input argument – MATLAB 2018a

'run' command with input argument

I have Matlab script already existing in matlab path for example 'data_work_path'.
'data_work_path' function supports one input argument
I am going to call the above script from another script,
I will be getting the script name as string,
for example a = 'data', b = 'work', c = 'path'
run command woking when without input argument run([a, '_', b, '_', c])
but with input argument as string i am getting the error run([a, '_', b, '_', c, '(''alpha'')'])
can anyone help me?
Thanks in advance

Best Answer

run does not work with functions, it only works with scripts:
If you want to call a function with some dynamic name, then you can use str2func like this:
str = sprintf('%s_%s_%s',a,b,c);
fun = str2func(str);
fun("alpha") % call it with whatever input arguments it requires.
Of course the function will need to be on the MATLAB Search Path or in the current directory.