2012-06-15 57 views
10

Voy a ejecutar un programa Matlab en un servidor Linux remoto utilizando SSH. Me preguntaba cómo ejecutar Matlab en Linux con solo la línea de comandos, lo que significa que no hay un entorno gráfico.Ejecutar Matlab en Linux sin entorno gráfico?

Gracias.

Respuesta

17

inicio de MATLAB con el las siguientes banderas

matlab -nodesktop -nojvm -nosplash 
  • -nodesktop impide el escritorio

  • -nojvm previene inicio de la máquina virtual Java

  • -nosplash previene la pantalla de bienvenida.

Tenga en cuenta, que, como Li-Aung Yip señaló en los comentarios, Mathworks no recomienda utilizar la bandera -nojvm.

+0

¿Qué hacen las banderas '-nojvm' y' -nosplash'? –

+0

'-nosplash' previene la pantalla de bienvenida y' -nojvm' impide el inicio de la máquina virtual java. –

+2

busqué en Google; '-nodesktop' y' -nojvm' son ligeramente diferentes. [Aquí hay una explicación de Michael Katz de The Mathworks.] (Http://blogs.mathworks.com/community/2010/02/22/launching-matlab-without-desktop/) –

-4

Uso octavehttp://www.gnu.org/software/octave/

Es un código abierto casi aplicación compatible con Matlab de Matlab. Usted será capaz de ejecutar desde la línea de comandos simplemente como /usr/bin/octave o smth como la

3
matlab -nodisplay 

Ver here about -nodisplay.

Entonces -nodesktop y -nosplash son innecesarios. No tienen sentido en el modo texto.

Probablemente no sea una buena idea agregar -nojvm a menos que tenga un buen motivo aparte para hacerlo. Sin la JVM, perderá alguna funcionalidad cuya ausencia podría generar confusión más adelante. Fuente: same link as above. Además de -nodisplay, no hace que su sesión Matlab no gráfica sea menos gráfica.


Aquí hay un par de formas de ejecutar comandos de forma no interactiva.

Camino 1:

matlab -nodisplay < myScript.m 

Deja exit como por ejemplo el último comando en myScript.m.

Way 2:

matlab -nodisplay -r "try, myFunction(); catch e, disp(getReport(e)), exit(7), end, exit()" 

La segunda manera es preferible, porque, por ejemplo, si hay un error en el medio del código, la segunda forma imprimirá un mensaje de error y saldrá con un código distinto de cero. Mientras que la primera forma es equivalente a escribir los comandos directamente, independientemente de lo que diga Matlab (lo que podría ser un mensaje de error).

En caso de que la siguiente pregunta sea "cómo suprimir el mensaje de bienvenida en modo de texto Matlab?", it seems there is NO good way to get rid of it.

Cuestiones relacionadas