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?

 채택된 답변

Jan
Jan 2017년 2월 27일

0 개 추천

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

댓글 수: 4

Simon Michel
Simon Michel 2017년 2월 27일
Thank you very much for helping. This easily solved my problem.
Shep Bryan
Shep Bryan 2019년 5월 7일
Does this change the directory that you are in permanantly or does it cd back after this command is called?
Jhe Mag
Jhe Mag 2022년 1월 16일
편집: Jhe Mag 2022년 1월 16일
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 2025년 9월 11일
FWIW, this does seem to cd back to the original directory after MATLAB exits

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Steven Lord
Steven Lord 2025년 9월 12일

0 개 추천

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.

카테고리

도움말 센터File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기

질문:

2017년 2월 27일

편집:

2025년 9월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by