Iniciar y detener el motor de MATLAB para Python
Iniciar el motor de MATLAB para Python
Inicie Python® en la línea de comandos del sistema operativo.
Importe el paquete
matlab.engine
en su sesión de Python.Inicie un nuevo proceso de MATLAB® llamando a
start_matlab
. La funciónstart_matlab
devuelve un objeto Pythoneng
que le permite pasar datos y llamar a funciones ejecutadas por MATLAB.
import matlab.engine eng = matlab.engine.start_matlab()
Iniciar el motor con las opciones de inicio
Inicie el motor y pase las opciones como una cadena de argumento de entrada a matlab.engine.start_matlab
. Por ejemplo, inicie MATLAB con el escritorio.
eng = matlab.engine.start_matlab("-desktop")
Puede definir varias opciones de inicio con una sola cadena. Por ejemplo, inicie el escritorio y establezca el formato de visualización numérica en short
.
eng = matlab.engine.start_matlab("-desktop -r 'format short'")
También puede iniciar el escritorio después de iniciar el motor.
import matlab.engine eng = matlab.engine.start_matlab() eng.desktop(nargout=0)
Iniciar una versión específica del motor de MATLAB
Para iniciar una versión específica del motor de MATLAB, establezca la variable del entorno de PYTHONPATH
en la ubicación del paquete. Este código asume que utilizó la configuración que se muestra en la sección anterior. Para establecer PYTHONPATH
en Windows para llamar a la versión R2022a de MATLAB, escriba:
sys.path.append("c:\work\matlab22aPy39")
En Linux® o macOS:
sys.path.append("/local/work/matlab22aPy39")
Para comprobar qué versión de MATLAB se ha importado, en Python, escriba:
import matlab print(matlab.__file__)
Es posible que Python utilice nombres de carpetas diferentes para la instalación. Por ejemplo, Python puede crear una subcarpeta lib/site-packages
antes de instalar el motor de MATLAB. Compruebe la carpeta de su sistema que va a utilizar con el comando sys.path.append
.
Iniciar el motor de forma asíncrona
Inicie el motor de forma asíncrona. Mientras que MATLAB se inicia, puede introducir comandos en la línea de comandos de Python.
import matlab.engine future = matlab.engine.start_matlab(background=True)
Cree la instancia de MATLAB para poder realizar cálculos en MATLAB.
eng = future.result()
Ejecutar varios motores
Inicie cada motor por separado. Cada motor se inicia y se comunica con su propio proceso de MATLAB.
eng1 = matlab.engine.start_matlab() eng2 = matlab.engine.start_matlab()
Detener el motor
Llame a la función exit
o quit
.
eng.quit()
Si sale de Python mientras un motor aún se está ejecutando, Python detiene automáticamente el motor y su proceso de MATLAB.