run function from command line

28 visualizaciones (últimos 30 días)
Simon Michel
Simon Michel el 27 de Feb. de 2017
Editada: Walter Roberson el 12 de Sept. de 2025
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?

Respuesta aceptada

Jan
Jan el 27 de Feb. de 2017
Do you mean:
matlab -nodisplay -r "cd('/path/to'); functionname(argument1, argument2, argumentN);exit"
  4 comentarios
Jhe Mag
Jhe Mag el 16 de En. de 2022
Editada: Jhe Mag el 16 de En. de 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 el 11 de Sept. de 2025
FWIW, this does seem to cd back to the original directory after MATLAB exits

Iniciar sesión para comentar.

Más respuestas (1)

Steven Lord
Steven Lord el 12 de Sept. de 2025
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.

Categorías

Más información sobre Startup and Shutdown en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by