我有来自Microsoft Visual Studio 2010中编译C ++代码的a.exe
文件。我试图从Matlab运行a.exe
文件,但是我把这个文件与另一个文件循环工作{ {1}}用Matlab编写的文件。
我们的想法是在.m
循环内的Matlab中运行.m
文件。首先,Matlab文件使用循环的第一个值,之后在Matlab中运行具有相同值的for
文件,依此类推。我使用a.exe
为sprintf
文件生成输入字符串,如下所述:
.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代码中,因为我得到了错误的结果。
答案 0 :(得分:0)
将其构建为Matlab EXecutable(MEX)文件。它可以采用输入参数,如Matlab函数。
http://www.mathworks.de/de/help/matlab/matlab_external/introducing-mex-files.html
您的问题有点模棱两可:您尝试运行a.exe,但是将此文件投入使用?