How to call another matlab scripts which are in the same directory?
Show older comments
I have one "Main_File.m" which i am running from a bash script. Inside the "Main_File.m", I am calling two of the matlab scripts (primary_script.m, secondary_script.m) which are in the same directory. But the bash script generating an error like "error: 'primary_script' undefined near line 64 column 5".
But if I run the "Main_File.m" through MATLAB it is compiling and generating results without any error.
How can i solve this issue?
3 Comments
Rik
on 11 Feb 2019
What are you trying to do? Why would you assume bash can run Matlab scripts? Sure, you can call Matlab with bash, but then you're back in the Matlab environment again.
Also, it is much better practice to write functions instead of scripts for anything other than pure debugging.
Mr. 206
on 11 Feb 2019
Rik
on 11 Feb 2019
Bash cannot run Matlab scripts. What you can do is call Matlab from the command line, or compile your code to executable code. If you do neither, I would be very interested to know your exact syntax.
Why do you think it is impossible in your case to turn your script into a function?
As for your error, I suspect this has to do with the current folder being some unexpected location, which would cause this issue.
Answers (1)
Image Analyst
on 11 Feb 2019
Just put in the name of the scripts you want to call in "Main_File.m".
Have "Main_File.m" look like this:
% some code first, perhaps...
% Then call the first script
primary_script.m
% Maybe more code, then call the second script
secondary_script
2 Comments
Mr. 206
on 11 Feb 2019
Image Analyst
on 11 Feb 2019
Then the primary_script is not on the search path. What does this show:
>> which -all primary_script
Categories
Find more on File Operations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!