从MATLAB工作者调用python函数

从MATLAB工作者调用python函数,python,matlab,simulink,parfor,gil,Python,Matlab,Simulink,Parfor,Gil,我正在尝试使用parfor运行一个MATLAB脚本,它通过sim函数并行运行一个simulink模型,这个simulink模型包含一个MATLAB函数块 此块中定义的函数使用“py.”机制调用python函数 不幸的是,运行过程有时会陷入中间,当我进行大量的仿真时。调试输出停止显示。我怀疑某个地方出现了僵局 所以,我的问题是 我们可以运行一个包含python函数的simulink模型吗 MATLAB以什么方式调用python解释器?每个MATLAB工作人员一个,还是整个MATLAB一个 我在

我正在尝试使用parfor运行一个MATLAB脚本,它通过sim函数并行运行一个simulink模型,这个simulink模型包含一个MATLAB函数块

此块中定义的函数使用“py.”机制调用python函数

不幸的是,运行过程有时会陷入中间,当我进行大量的仿真时。调试输出停止显示。我怀疑某个地方出现了僵局

所以,我的问题是

  • 我们可以运行一个包含python函数的simulink模型吗
  • MATLAB以什么方式调用python解释器?每个MATLAB工作人员一个,还是整个MATLAB一个
我在Mac上使用MatlabR2017B

2018年3月22日的补充:我联系了支持人员,他们回答说,不支持在simulink模型中从MATLAB函数块调用python函数,任何事情都可能发生。我仍然对MATLAB如何与python解释器交互感兴趣。是否有一个单独的python解释器与整个MATLAB交互,或者是否有多个python实例供所有MATLAB工作人员使用


新增2018年4月22日:更新MATLAB 2018a似乎可以解决问题

这的确是个好问题。我所知道的是,由于全局解释器锁()的原因,让几个python子解释器并行工作非常困难(如果可能的话)。根据将python代码移植到matlab脚本的工作量,这可能是解决问题的最简单、最快捷的方法。我建议您使用模式来帮助理解问题的体系结构