设置
要求
要从 MATLAB 中调用 Python®,您需要在系统上同时安装这两个软件。
配置
访问 Python 解释器的设置和状态:
>> pe = pyenv
指定要使用的版本:
>> pe = pyenv("Version","3.9")
确保 PYTHONHOME 环境变量与您的 Python 版本一致。要在 MATLAB 中查看其值,请使用:
>> getenv("PYTHONHOME")
确保系统路径中有适当的版本:
>> getenv("PATH")
要执行脚本中的代码,请使用:
>> outvars = pyrunfile(file,outputs)
调用 Python 模块和函数
>> py.module_name.function_name >> x = py.math.sqrt(42)
传递关键字参量
可以直接调用,也可以使用 pyargs:
>>> foo(5,bar=42)
>> py.foo(5,bar=42)
>> py.foo(5,pyargs('bar',42))
重新加载模块
更新后重新加载模块:
>> py.importlib.reload(module)
| MATLAB | Python |
Double, single |
Float |
complex single |
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 |
使用 Apache® Parquet 高效传输数据。
从 MATLAB:
>> tbl = parquetread(fname) >> parquetwrite(tbl,fname)
从 Python:
>>> df = pandas.read_parquet(fname) >>> pandas.Dataframe.to_parquet(df)
深度学习
通过适用于 TensorFlow™、PyTorch® 和 ONNX™ 的导入器访问 MATLAB 中的模型。
>> net = importKerasNetwork(model)
集成 Python 和 Simulink
您可以使用 Python 导入器将 Python 模块和包导入 Simulink 中。
打开导入器:
>> obj = Simulink.PythonImporter(); >> obj.view();
MATLAB Function 模块和 MATLAB System 模块
使用 MATLAB Function 模块或 MATLAB System 模块在 Simulink 中实现 Python 模块。