运行 作为外部代码组件的 Matlab 脚本

Running Matlab scripts as ExternalCode Component

我正在尝试在 openmdao 中使用一些现有的 matlab 脚本。外部代码教程很简单。但是,我在为 matlab 应用程序修改以下示例时遇到了一些问题。 教程中的原始代码:

self.options['command'] = ['python', 'extcode_paraboloid.py', self.input_file, self.output_file]

修改后的 matlab 应用程序代码:

self.options['command'] = ['matlab', '-nodesktop -r "run Paraboloid.m"', self.input_file, self.output_file]

这一行可以启动matlab。但是,其他参数('-r "test.m "')似乎已被截断并且无法被 matlab 正确解释。我的替代解决方案是创建另一个 .py 文件来调用 os 命令。

os.system('cmd /c "matlab -nodesktop -r "run Paraboloid.m",quit"')

关于如何直接调用matlab函数有什么建议吗?谢谢!

尝试在有 space 的地方分解所有内容。

self.options['command'] = ['matlab', '-nodesktop', '-r', '"run Paraboloid.m"', self.input_file, self.output_file]