我有从Microsoft Visual Studio 2010中编译C ++代码获得的a.exe
文件。我试图从Matlab运行a.exe
文件,但我将此文件与另一个用Matlab编写的.m
文件循环使用。
这个想法是在.m
循环中在Matlab中运行for
文件。首先,Matlab文件使用循环的第一个值,然后在Matlab中以相同的值运行a.exe
文件,依此类推。我使用sprintf
为.exe
文件生成输入字符串,如下所述:
wvl=0.4,
for ii=1:100 wvl=0.4+i*0.01;
Matlab代码的另一部分可以进行一些计算并为C ++代码准备输入数据文件:
str=sprinf('a.exe,%f',wvl);
system (str);
我已经在C ++代码中使用命令行参数来运行具有不同值的可执行文件:
int main(int argc, char *argv[]);
wvl=atof ( argv[1]);
cout << "wvl=" << wvl << endl;
我想在编译代码后更改上面提到的值
wvl
。我不知道该错误是C ++代码还是Matlab代码,因为我得到了错误的结果。
最佳答案
将其构建为Matlab可执行(MEX)文件。它可以像Matlab函数一样接受输入参数。
http://www.mathworks.de/de/help/matlab/matlab_external/introducing-mex-files.html
您的问题有点模棱两可:您试图运行a.exe,但可以使用此文件吗?
关于c++ - 使用更改输入值从Matlab运行C++的.exe文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24037371/