在 MATLAB 和 Python 之间传递数据
当您将 MATLAB® 数据返回到 Python® 时,MATLAB Engine API for Python 将数据转换为等效的 Python 数据类型。MATLAB 引擎还将传入的 Python 数据转换为 MATLAB 数据类型。
将数据从 MATLAB 传递到 Python
当您将数据从 MATLAB 传递到 Python 时,无论是直接传递还是作为 Python 中的 MATLAB 函数的输出传递,MATLAB 都会将数据转换为等效的 Python 数据类型。
MATLAB 输出参量类型 | 生成的 Python 数据类型 |
|---|---|
数值数组 |
|
|
|
复数(任意数值类型) |
|
|
|
|
|
|
|
|
|
|
|
|
|
string 数组(1×N 或 N×1) |
|
|
|
元胞数组(1× |
|
|
|
|
|
|
|
|
|
tabletimetable |
|
|
|
MATLAB 句柄对象(例如 |
|
MATLAB 值对象(例如 |
|
不支持的 MATLAB 数据类型
除了表中注明的例外情况外,MATLAB 不会将以下 MATLAB 数据类型转换为 Python 数据类型:
char数组(M×N)string数组(M×N)元胞数组(
M×N)稀疏数组
struct数组非 MATLAB 生成的对象(例如 Java® 对象)
函数句柄
将数据从 Python 传递到 MATLAB
当您将数据从 Python 传递到 MATLAB 时,无论是直接传递还是作为 Python 中的 MATLAB 函数的输入参量传递,MATLAB 引擎都会将数据转换为等效的 MATLAB 数据类型。
Python 数据类型 | 生成的 MATLAB 数据类型 |
|---|---|
| 数值数组 |
支持缓冲区协议的 Python 对象,例如 | 数值数组 |
|
|
| 复数 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
具有 |
|
|
|
除 |
|
不支持的 Python 数据类型
除了表中注明的例外情况外,MATLAB 不会将以下 Python 数据类型转换为 MATLAB 数据类型:
Python 类 (
module.type) 对象None对象