matlab调用exe进行参数传递的小技巧

很多时候我们需要在matlab调用exe文件,而如何将参数传递进exe就是一个问题,一般来说使用

!test.exe 参数

是无法传入参数的,如果使用matlab里面的变量会报错,因为实际执行是在命令行中的,而且这种操作只能显示输出结果,没有返回结果,因此不太好用。另一个比价好的方法是先用字符串写出你要在命令行进行的操作,然后进行system(cmd),如:

cmd = ['filename.exe ',num2str(变量)];
[status, result]=system(cmd,'-echo');

status用来存储程序调用的状态,成功调用为0,否则为1;result用来存储执行的结果;不过储存的结果是字符串形式因此需要,自己处理。
这样一来可以比较简单的输入单个参数,但是对于复杂的输入,比如说同时具有数值、数组、矩阵等作为输入的情况下,使用这个方法暂时是无能为力的。至于怎么输入那些变量,我曾经尝试过在.m文件中输入路径,然后从路径load(data.mat),这个方法实际上也不可行,因为对于自己编译的.m文件,它连路径都替你编译进去了,也就是说你改变路径,它加载的永远是你测试时候的data.mat,所以说结果不会变。

所以,在这里仅实现单个数值变量的传递,还没有实现复杂的参数传递,如果你有什么好的方法建议,欢迎评论区留言

你可能感兴趣的:(matlab,开发语言)