我有用MATLAB编写的两个工具(我不是作者):
我想做的是:
我知道可以使用IPC机制找到解决方案,但是我不确定如何找到它们或如何在MATLAB中使用它们。有没有人曾经用过这种东西?
查看MATLAB文档,我发现可以创建 COM对象,但是我不确定如何使用它在MATLAB 32bit中运行某些功能。
如下面的@nekomatic所建议的,如果我以建议的方式运行代码,但从下面的系统命令中排除-automatic
,则一切对我都有效。
最终系统命令的格式为
system('"C:\path\to\R2013a\matlab.exe" -wait -r "mycommand; exit"')
mycommand
是一个MATLAB脚本,用于加载输入文件,先执行某些操作,然后保存输出文件。
答案 0 :(得分:1)
如果您不需要快速执行此操作,则最简单的方法可能是:
.mat
文件system
命令启动32位MATLAB实例例如64位代码(不包括错误处理,当前文件夹设置等)可能看起来像这样:
delete result.mat % Delete any result from the previous run
save(data.mat, '-v7.3') % usually best to specify the .mat format to use
system('"C:\path\to\R2013a\matlab.exe" -automation -wait -r "mycommand; exit"')
processedData = load('result.mat')
其中mycommand
是您的MATLAB R2013a脚本,该脚本从data.mat
读取数据,进行处理并将结果保存在result.mat
中。
有关R2013a here(假设Windows)的启动选项和有关R2016b here的system
命令的更多数据。您可能需要使用Mathworks帐户登录才能查看旧版本的文档,但是如果有问题,只需查看各自MATLAB安装中的帮助即可。