run function from command line

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

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 a las 20:16
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 a las 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.

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