Run command not working
Afficher commentaires plus anciens
I have a script which runs various other .m files, using...
run('filename.m');
When I run the script, the .m files are not run. I can manually run them by opening them in the workspace and clicking 'run'. I can also run the .m files by entering in the command window....
filename % (i.e. without anything beforehand, and without the .m)
Can anyone help me understand why the run command doesn't work? As best as I can tell, the File directory and working folder are setup correctly
The script works for my colleagues - The only difference I'm aware of is that I have to run Matlab as an administrator, whereas my colleagues do not
7 commentaires
Voss
le 21 Août 2023
What does this show?
which -all run
Denis Gorman
le 22 Août 2023
"When I run the script, the .m files are not run."
Please explain exactly what occurs: do you get an error message (if so, what is the complete text of the message), or any other message displayed (if so, exact text please) or some dialog box (if so, what content) or does MATLAB crash and your computer catch fire? If you don't tell us, we don't know what "are not run" means.
Denis Gorman
le 22 Août 2023
Walter Roberson
le 22 Août 2023
If you which the name (without the .m) what shows up?
If you have a fixed filename that you are expecting to be on the path (including the current directory) then most of the time you should skip using run and should just use the name .
run() is useful if there is reason to give a path as part of the name (but for whatever reason you do not want the directory on the path permanently); run() is also useful if the file name is being constructed from data (computed through an expression, pulled from a drop-down list, that sort of thing.)
Stephen23
le 22 Août 2023
"My indicator for whether the .m file 'runs or not' (poor wording, apologies) is whether the new variable gets created in my workspace when I run the .m file"
If the RUN command is called within a function or class method then it uses the workspace of that function or method, i.e. the variable is created inside the function/method workspace and will not be visible in the base workspace:
That could explain the behavior you are seeing:
You should also check the MATLAB evaluation status in the bottom left corner of the IDE:
If MATLAB is busy it may not update the workspace.
Denis Gorman
le 22 Août 2023
Réponses (0)
Catégories
En savoir plus sur Workspace Variables and MAT Files dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!