'run' command with input argument - MATLAB 2018a

33 visualizzazioni (ultimi 30 giorni)
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
  1 Commento
Gopalakrishnan venkatesan
Gopalakrishnan venkatesan il 20 Mar 2020
Error using run (line 55)
Error: Invalid expression. Check for missing multiplication operator, missing or unbalanced delimiters, or other syntax
error. To construct matrices, use brackets instead of parentheses.

Accedi per commentare.

Risposta accettata

Stephen23
Stephen23 il 20 Mar 2020
Modificato: Stephen23 il 20 Mar 2020
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.
  2 Commenti
Gopalakrishnan venkatesan
Gopalakrishnan venkatesan il 20 Mar 2020
sorry i need to call the another script only
Stephen23
Stephen23 il 20 Mar 2020
Modificato: Stephen23 il 20 Mar 2020
"sorry i need to call the another script only"
All of your screenshots clearly show that data_work_path is a function. You cannot call it with run.
run only works with scripts.
run does not call functions.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Environment and Settings 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