如何从c++执行Matlab脚本
How to execute a Matlab script from C++
我在Visual Studio中有一个c++程序,它记录数据并将其保存到文件中。我想从那个文件中读取一些Matlab分析,并将结果保存在一个单独的文件中。然后,我的c++程序继续运行。
当Matlab在同一台计算机中打开时,是否有任何方法可以自动编码c++中的调用?
提前感谢!
根据您的需要,有许多方法可以从c++调用MATLAB。过去这里已经问过许多类似的问题,我将参考这些问题,并根据您的要求提供解决方案。
-
您想要MATLAB C或c++ API吗?然后使用这里,这里,这里描述的
mex
函数和实际的MATLAB文档 - 你想把你的MATLAB程序转换成c++吗?然后使用MATLAB编码器描述这里,这里和这里
- 您想从c++内运行MATLAB脚本吗?然后调用MATLAB引擎或编写shell脚本,并从这里和这里描述的c++调用
你的问题属于第三类。因此,您需要调用MATLAB引擎(参见Tal Darom的答案)或编写shell脚本。我将解释后者。让我们写一个shell脚本matlab_script.sh
:
#/bin/sh
matlab -nodisplay -nojvm -nosplash < your_matlab_file.m
,然后在c++代码中这样做:
system("matlab_script.sh");
需要matlab_script.sh
是可执行的。在linux下,您通常执行chmod +x matlab_script.sh
您可以在程序中启动matlab引擎,并使用matlab引擎API运行matlab脚本。
参见文档:http://www.mathworks.com/help/matlab/calling-matlab-engine-from-c-c-and-fortran-programs.html
您可以使用Matlab编译器SDK,它将您的Matlab代码转换为独立的程序或库。
然后您可以从您的c++代码调用此库,最终用户甚至不需要安装Matlab(只是编译器运行时,您可以部署"免版税"),请参阅此网页了解您可以用它做什么。
相关文章:
- 在C++STL中是否有Polyval(Matlab函数)等价物?
- 如何通过cpp程序运行shell脚本
- 有可能在Armadillo中复制MATLAB circshift方法吗
- 使用 MATLAB 编码器生成C++代码:编译错误"undefined reference to `rgb2gray_tbb_real64'"
- 在程序中编写脚本来编写和编译代码
- 如何在c++中使用system()来运行包含空格的python脚本
- 在cygwin中运行c++脚本时发生错误
- 如何将真正的字符串从python c-api转换为python脚本
- 用于将C++代码转换为 Web 程序集的脚本未终止
- 如何使用C++初始化向量;脚本化值不是数组、指针或矢量错误
- 在原子中使用犰狳与脚本
- 我适合在我的构建系统中使用 shell 脚本而不是AX_CHECK_COMPILE_FLAG吗?
- CANoe - 无法在 CAPL 脚本中打开.dll
- 在从Qt调用的Python脚本中导入OpenCV崩溃
- 将数组/向量发送到 c++ 脚本的 cython 示例
- 脚本的多重定义::LState
- 从C++应用获取PowerShell脚本输出
- 用户控制从 c++ 到 java 脚本的 Webassembly 访问调用
- 从C++启动matlab脚本并等待结果
- 如何从c++执行Matlab脚本