首页 > 解决方案 > 将 Matlab 脚本作为 ExternalCode 组件运行

问题描述

我正在尝试在 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函数有什么建议吗?谢谢!

标签: matlabopenmdao

解决方案


尝试在有空间的地方打破一切。

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


推荐阅读