在 MATLAB 和 Python 之间传递数据
调用 Python® 函数时,MATLAB® Compiler SDK™ 会将 MATLAB 数据转换为最能用 Python 语言表示数据的类型。有关在 MATLAB 中使用 Python 数据的信息,请参阅处理从 Python 函数返回到的数据。
从 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对象