笔记
呼叫Python有一个开销®函数超出过程。此行为会影响性能。MathWorks建议在进程中调用Python函数,这是默认模式。
马铃薯®可以在单独的进程中运行Python脚本和函数。在单独的过程中运行Python使您可以:
在与MATLAB不兼容的Python代码中使用一些第三方库。
将MATLAB过程从Python代码中的崩溃隔离。
要运行流程,请致电Pyenv.
用来的功能“executionmode”
参数设置为“outofprocess”
。例如,假设您要创建此功能列表
Python环境中的变量。
['周一周二周三周四周五']
创造这一点列表
流程外,将MATLAB执行模式设置为“outofprocess”
。MATLAB显示有关当前Python环境的信息。
Pyenv(“executionmode”那“outofprocess”)
ANS = PythonEnvironment使用属性:版本:“2.7”可执行文件:“C:\ Python27 \ Pythonw.exe”库:“C:\ Windows \ System32 \ Python27.dll”主页:“C:\ Python27”状态:Notloaded EtecutionMode:外部处理
创建变量。
py.list({'周一'那'周二'那'周三'那'周四'那'星期五'})
ans = python列表,没有属性。['周一周二周三周四周五']
Matlab创建一个名为的过程Matlabpyhost.
。
Pyenv.
ans = pythonenvironment with属性:版本:“2.7”可执行文件:“c:\ python27 \ pythonw.exe”库:“c:\ windows \ system32 \ python27.dll”home:“c:\ python27”状态:加载的executionmode:OutofProcess ProcessID:“8196”ProcessName:“Matlabpyhost”
笔记
清除Python对象是异步的,这意味着在调用同步呼叫后,Python对象可能会留在Python中。例如,在以下代码中,可以MyList2.
以前创建的我的列表
被摧毁了。
mylist = py.list;清除我的列表mylist2 = py.list;
当您调用Python函数之外,Python和Matlab之间传递的变量大小限制为2 GB。此限制适用于在流程之间传递的数据加支持信息。金宝app