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?

 Akzeptierte Antwort

Jan
Jan am 27 Feb. 2017

0 Stimmen

Do you mean:
matlab -nodisplay -r "cd('/path/to'); functionname(argument1, argument2, argumentN);exit"

4 Kommentare

Simon Michel
Simon Michel am 27 Feb. 2017
Thank you very much for helping. This easily solved my problem.
Shep Bryan
Shep Bryan am 7 Mai 2019
Does this change the directory that you are in permanantly or does it cd back after this command is called?
Jhe Mag
Jhe Mag am 16 Jan. 2022
Bearbeitet: Jhe Mag am 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
Jon am 11 Sep. 2025
FWIW, this does seem to cd back to the original directory after MATLAB exits

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Steven Lord
Steven Lord am 12 Sep. 2025

0 Stimmen

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.

Kategorien

Mehr zu Startup and Shutdown finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by