我在 Visual Studio 中有一个 C++ 程序可以记录数据并将其保存到文件中。我想从该文件中读取一些 Matlab 分析并将结果保存在一个单独的文件中。然后,我的 C++ 程序继续运行。
当在同一台计算机上打开 Matlab 时,有什么方法可以自动用 C++ 编写调用代码吗?
提前致谢!
最佳答案
根据您的需要,可以通过多种方式从 C++ 调用 MATLAB。过去这里曾问过许多类似的问题,我将引用这些问题并为您提供解决方案,因为您的要求似乎有所不同。
- 您需要 MATLAB C 还是 C++ API?然后使用
mex
描述的函数 here , here , here和实际的MATLAB documentation - 您想将您的 MATLAB 程序转换为 C++ 吗? 然后使用 MATLAB Coder描述 here , here和 here
- 您想从 C++ 中运行 MATLAB 脚本吗?然后调用 MATLAB Engine或编写一个 shell 脚本并描述从 C++ 调用的 here和 here
您的问题属于第三类。因此,您需要调用 MATLAB 引擎(参见 Tal Darom 的回答)或编写 shell 脚本。我将解释后者。让我们编写一个名为 matlab_script.sh
的 shell 脚本:
#/bin/sh
matlab -nodisplay -nojvm -nosplash < your_matlab_file.m
然后在您的 C++ 代码中执行此操作:
system("matlab_script.sh");
您需要 matlab_script.sh
才能执行。在 linux 下你通常做 chmod +x matlab_script.sh
关于c++ - 如何从 C++ 执行 Matlab 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32115766/