run function from command line
64 views (last 30 days)
Show older comments
Simon Michel
on 27 Feb 2017
Edited: Walter Roberson
on 12 Sep 2025 at 1:56
I want to start a matlab function from the unix command line. For now I use
matlab -nodisplay -r "functionname(argument1, argument2, argumentN);exit"
But for this the function I call needs to be in the folder where I am. Is there a way to call the function like
matlab -nodisplay -r "/path/to/functionname(argument1, argument2, argumentN);exit"
without manually adding it to the search path of matlab?
0 Comments
Accepted Answer
Jan
on 27 Feb 2017
Do you mean:
matlab -nodisplay -r "cd('/path/to'); functionname(argument1, argument2, argumentN);exit"
4 Comments
Jhe Mag
on 16 Jan 2022
Edited: Jhe Mag
on 16 Jan 2022
Thank you Mr. Jan. Seems like windows prompt is slightly the same with unix haha.
Someone might be needing this: For windows command prompt, I used the command : "C:\Program Files\Polyspace\R2021a\bin\matlab.exe" -nosplash -nodesktop -r "cd('D:\matlab_project\scripts\'), testFnc('blah'), exit"
with my testFnc.m
function sample = testFnc(stri)
sample = stri
disp(sample)
end
Jon
on 11 Sep 2025 at 20:16
FWIW, this does seem to cd back to the original directory after MATLAB exits
More Answers (1)
Steven Lord
on 12 Sep 2025 at 1:46
I'm not 100% sure this option was available in releases R2017a or R2017b, but I'm pretty sure it was. Use the -sd startup option to cause MATLAB to start in a certain directory.
0 Comments
See Also
Categories
Find more on Startup and Shutdown 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!