我在Visual Studio中有一个C ++程序,它记录数据并将其保存到文件中。我想从该文件中读取一些Matlab分析并将结果保存在单独的文件中。然后,我的C ++程序继续进行。
当Matlab在同一台计算机上打开时,有没有办法在C ++中自动编写调用?
提前致谢!
答案 0 :(得分:5)
根据您的需要,有许多方法可以从C ++调用MATLAB。过去在这里已经提出了许多类似的问题,我将参考这些问题并提供解决方案,因为您的要求似乎有所不同。
mex
所述的matlab_script.sh
函数3}} 您的问题属于第三类。所以你需要调用MATLAB引擎(参见Tal Darom的回答)或编写shell脚本。我将解释后者。让我们编写一个名为#/bin/sh
matlab -nodisplay -nojvm -nosplash < your_matlab_file.m
的shell脚本:
system("matlab_script.sh");
然后在你的C ++代码中执行以下操作:
matlab_script.sh
您需要chmod +x matlab_script.sh
才能执行。在linux下,您通常会^{:key phone} [phone-component phone]
答案 1 :(得分:1)
您可以从程序中启动matlab引擎,并使用matlab引擎API运行matlab脚本。
请参阅文档:http://www.mathworks.com/help/matlab/calling-matlab-engine-from-c-c-and-fortran-programs.html
答案 2 :(得分:1)
您可以使用the Matlab Compiler SDK,将您的matlab代码转换为独立的程序或库。
然后,您可以从C ++代码中调用此库,最终用户甚至不需要安装Matlab(只需编译器运行时,您可以部署&#34;免版税&#34;) ,请参阅this web page了解您可以使用它做什么。