13
votes

I want Matlab to run some .m file, which writes to a text file. I don't want the GUI to launch, and I don't want the command line interpreter to run. I've got

matlab -nodisplay -r myfile

But this still runs the interpreter. What options should I be using?

3

3 Answers

10
votes

matlab needs to interpreter to run your commands. you can always end your file with quit to make matlab exit again when finished with your calculations

3
votes

If you need to execute a matlab script you can do matlab -nodisplay < script.m. If you want to call a matlab function, you can do matlab -nodisplay -r "foo(); quit". IIRC, in both cases matlab should exit once it is done.

0
votes

You could compile myfile into a standalone program and run that instead. Use Matlab's compiler mcc for that (if you have it), more information is provided in this question.