Guía práctica

Llamada a Python desde MATLAB

Esta guía de referencia incluye casos prácticos comunes, pero dista de ser exhaustiva.

Optimice Python con MATLAB

Integre herramientas avanzadas de MATLAB directamente en flujos de trabajo de Python.

Configuración

Requisitos

Para llamar a Python® desde MATLAB, ambos deben estar instalados en el sistema.

Configurar el intérprete

Acceda a la configuración y estado del intérprete de Python:

>> pe = pyenv 

Indique qué versión se debe utilizar:

>> pe = pyenv("Version","3.9") 

Asegúrese de que la variable de entorno PYTHONHOME es correcta para su versión de Python. Para ver el valor en MATLAB:

>> getenv("PYTHONHOME") 

Asegúrese de que las versiones correctas están en la ruta del sistema:

>> getenv("PATH")

Ejecutar código de Python en MATLAB

Tarea de Live Editor

La tarea Run Python Code permite ejecutar código o archivos de Python de manera interactiva, y después generar el código.

Llamar a instrucciones de Python

Para ejecutar unas pocas líneas de código:

>> outvars = pyrun(code,outputs) 
>> x = pyrun("a = b*c","a", b = 5, c = 10)

Llamada a un script de Python

Para ejecutar código organizado en un script:

>> outvars = pyrunfile(file,outputs) 

Llamar a módulos y funciones de Python

>> py.module_name.function_name
>> x = py.math.sqrt(42) 

Pasar argumentos con palabras clave

Llame directamente o utilice pyargs:

>>> foo(5,bar=42) 
>> py.foo(5,bar=42) 
>> py.foo(5,pyargs('bar',42)) 

Recargar módulos

Vuelva a cargar el módulo después de realizar actualizaciones:

>> py.importlib.reload(module)

Conversión de tipos de datos

Los tipos de datos se convertirán automáticamente cuando sea posible.

MATLAB Python
Double, single Float
complex single
complex double
Complex
(u)int8, (u)int16, (u)int32, (u)int64 int
NaN Float(nan)
Inf Float(inf)
String, char Str
Logical Bool
Dictionary dict
Struct dict
Table Py.pandas.dataframe
Datetime Py.datetime.datetime
Duration Py.datetime.timedelta

Librerías de Data Science

Apache Parquet

Utilice Apache® Parquet para transferir datos de manera eficiente.

Desde MATLAB:

>> tbl = parquetread(fname)
>> parquetwrite(tbl,fname) 

Desde Python:

>>> df = pandas.read_parquet(fname)
>>> pandas.Dataframe.to_parquet(df)

Deep Learning

Acceda a modelos de MATLAB con importadores para TensorFlow, PyTorch® y ONNX.

>> net = importKerasNetwork(model)

Integrar Python y Simulink

Puede utilizar Python Importer para importar módulos y paquetes de Python en Simulink.

Abra el importador:

>> obj = Simulink. PythonImporter(); 
>> obj.view(); 

Bloques MATLAB Function y MATLAB System

Implemente módulos de Python en Simulink con los bloques MATLAB Function o MATLAB System.