我正在尝试使用python脚本(mlabwrap作为matlab的python包装器)启动simulink仿真。我使用以下命令打开simulink * .mdl文件:

open_system("thermo","loadonly");


我使用set_param初始化模拟:

set_param("thermo", 'SimulationCommand', 'start');


这将引发以下错误:

更改模拟执行状态时发生错误。
如果内存分配失败或没有X连接,则可能发生这种情况

如果我只执行sim("thermo"),一切都会正常。

不幸的是,我想使用set_param而不是sim。

如何在没有X服务器的情况下使用set_param("thermo", 'SimulationCommand', 'start');并从终端运行它?

我在Ubuntu上使用Matlab2009b。

编辑:

事实证明,如果我以X服务器的用户身份登录运行模拟,那么即使使用set_param,一切也可以正常工作...

但是我仍然想知道,如果不运行X服务器,是否可以运行模拟...

最佳答案

事实证明,如果没有X服务器,就无法使用set_param启动仿真:

"If you use matlab -nodisplay to start a session, you cannot use set_param to run your simulation."

编辑:官方文档链接(如@Daniel指出的)

关于python - set_param SimulationCommand启动时发生错误-“内存分配失败或您没有X连接”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34936939/

10-12 16:46