使用更改输入值从matlab运行c ++的.exe文件

时间:2014-06-04 12:24:05

标签: c++

我有来自Microsoft Visual Studio 2010中编译C ++代码的a.exe文件。我试图从Matlab运行a.exe文件,但是我把这个文件与另一个文件循环工作{ {1}}用Matlab编写的文件。

我们的想法是在.m循环内的Matlab中运行.m文件。首先,Matlab文件使用循环的第一个值,之后在Matlab中运行具有相同值的for文件,依此类推。我使用a.exesprintf文件生成输入字符串,如下所述:

.exe

还有另一部分Matlab代码可以进行一些计算并为C ++代码准备输入数据文件:

wvl=0.4,

for ii=1:100 wvl=0.4+i*0.01;

我已经在C ++代码中使用命令行参数来运行具有不同值的可执行文件:

str=sprinf('a.exe,%f',wvl);

system (str);

上面提到的值int main(int argc, char *argv[]); wvl=atof ( argv[1]); cout << "wvl=" << wvl << endl; 我想在编译代码后更改。

我不知道错误是在C ++代码中还是在Matlab代码中,因为我得到了错误的结果。

1 个答案:

答案 0 :(得分:0)

将其构建为Matlab EXecutable(MEX)文件。它可以采用输入参数,如Matlab函数。

http://www.mathworks.de/de/help/matlab/matlab_external/introducing-mex-files.html

您的问题有点模棱两可:您尝试运行a.exe,但是将此文件投入使用?