MATLAB系统命令给出分段错误?

时间:2017-01-20 16:04:37

标签: matlab terminal

我正在使用外部解算器来运行模拟。我试图从MATLAB脚本调用系统(cmd)的外部解算器。 cmd本身运行正常,终端没有问题(我在OSX上运行)。但是,每次运行MATLAB脚本时,状态为139 - Segmentation Fault。有谁知道为什么会发生这种情况?

2 个答案:

答案 0 :(得分:1)

执行system命令时,与从终端运行程序相同,因为您可能在终端会话中定义了环境变量(通过~/.bashrc~/.bash_profile)将影响程序的访问和运行方式。

如果您需要设置环境变量以使程序成功运行,请在调用setenv之前在MATLAB中使用system

答案 1 :(得分:0)

我的Matlab(R2016b)遇到了同样的问题,但解决方案正好相反。

而不是缺少变量,system()定义了LD_LIBRARY_PATH,它重定向到一些与Matlab一起打包的共享库,这些库与我的程序不匹配。在我的脚本中清除LD_LIBRARY_PATH后,一切正常。你可以这样做:

env -u LD_LIBRARY_PATH