首页 > 解决方案 > 为 C++ 可执行文件提供变量作为 MATLAB 系统命令的输入参数

问题描述

我有一个在 MATLAB 中实现的算法。我想用我自己的 C++ 实现替换不同的内置操作。我不想使用 MEX 来获得额外的开销。有没有办法使用“系统”命令将变量作为输入参数提供给我的 C++ 可执行函数。例如,对于用 C++ 实现的乘法器,以下工作。

result = system('multiplier.exe 10 50')

结果是 500。但以下不起作用:

a = 10;
b = 50;  
result = system('multiplier.exe a b');

在这种情况下,结果始终为 0。我尝试使用 setenv 和 getenv 函数。但是结果仍然是0。有什么帮助吗??

标签: c++cmatlabsystem

解决方案


正如user4581301评论中所暗示的那样,您的代码将aandb作为字符串a和字面意思,而b不是按照您的预期翻译它们。您需要将和的值转换为字符串之后。IE1050ab

result = system(['multiplier.exe ', num2str(a), ' ', num2str(b)]);

推荐阅读