Pasar datos de MATLAB a Python
Cuando llama a una función de Python® en MATLAB®, la interfaz de Python en MATLAB convierte los datos de MATLAB en tipos que representan mejor los datos en el lenguaje de Python. Para obtener información sobre cómo usar datos de Python en MATLAB, consulte Handle Data Returned from Python Function.
Pasar datos escalares de MATLAB a Python
En MATLAB, cuando pasa datos escalares de MATLAB a una función de Python, la interfaz de Python convierte los datos en los tipos de datos de Python equivalentes.
Tipo de argumento de entrada de MATLAB — | Tipo | Ejemplos |
|---|---|---|
|
| Use Python Numeric Variables in MATLAB |
|
| z = complex(1,2); py.cmath.polar(z) ans =
Python tuple with values:
(2.23606797749979, 1.1071487177940904)
|
|
| - |
|
| - |
|
| - |
|
| - |
escalar de |
| Use Python str Variables in MATLAB |
Valor |
| py.list({string(missing),"Value"})ans =
Python list with values:
[None, 'Value']
|
|
| - |
|
| Utilizar variables dict de Python en MATLAB |
|
| Utilizar variables dict de Python en MATLAB |
table | py.pandas.DataFrame | Use Python Pandas DataFrames in MATLAB |
timetable | py.pandas.DataFrame | Use Python Pandas DataFrames in MATLAB |
datetime |
| Use MATLAB Datetime Types with Python |
duration |
| Use MATLAB Duration Types with Python |
Objeto Python — |
| - |
Identificador de función |
| Pass Python Function to Python map Function |
Pasar datos de arreglos de MATLAB a Python
En MATLAB, cuando pasa un arreglo de MATLAB como entrada a una función de Python y el módulo NumPy está disponible en el entorno de Python, la interfaz de Python convierte automáticamente el arreglo en un arreglo de NumPy de Python. Si el módulo NumPy no está disponible al pasar un arreglo de MATLAB como entrada a una función de Python, la interfaz de Python trata la entrada de vectores como una entrada de matriz; la interfaz de Python convierte esas entradas en objetos memoryview de Python (desde la versión R2025a).
Antes de R2025a: Cuando pasa un vector de MATLAB con o sin el paquete NumPy a una función de Python, la interfaz de Python convierte el vector en un objeto array.array de Python.
Tipo de arreglo de entrada de MATLAB | Tipo de Python con NumPy resultante |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vector de |
|
vector de |
|
Arreglo | Arreglo |
Arreglo | Arreglo |
Matriz | Esta conversión no es compatible. |
El lenguaje de Python proporciona un protocolo para acceder a buffers de memoria como los datos almacenados en un arreglo de MATLAB. Si NumPy no está instalado, la interfaz de Python implementa este protocolo de buffer de Python para arreglos de MATLAB para que pueda leer arreglos de MATLAB directamente desde el código de Python, que se ejecuta en el mismo proceso que MATLAB, sin copiar datos. Este buffer de datos se convierte después en un objeto memoryview de Python. En este ejemplo, la interfaz de Python convierte el arreglo marr de MATLAB en un objeto memoryview mientras lo pasa al constructor array.array.
marr = [1,2,3];
pyarr = py.array.array('d',marr);
Tipos de MATLAB no compatibles
Python no admite estos tipos de MATLAB.
Arreglos multidimensionales
charocellArreglos dispersos
Arreglos de
structcategoricalcontainers.Mapobjetos MATLAB
matlab.metadata.Class(py.class)