如何从C++; 我在VisualStudio中有一个C++程序,它记录数据并将其保存到文件中。我想从该文件中读取一些Matlab分析,并将结果保存在单独的文件中。然后,我的C++程序继续运行。 < >在同一台计算机上打开Matlab时,有没有办法自动编码C++中的调用?p>

如何从C++; 我在VisualStudio中有一个C++程序,它记录数据并将其保存到文件中。我想从该文件中读取一些Matlab分析,并将结果保存在单独的文件中。然后,我的C++程序继续运行。 < >在同一台计算机上打开Matlab时,有没有办法自动编码C++中的调用?p>,c++,matlab,C++,Matlab,提前谢谢强>你想要Matlab C还是C++ API?然后使用 MEX < /C>函数描述,实际 < >你想把你的MATLAB程序转换成C++?,然后使用描述的,和 > >你想从C++中运行Matlab脚本吗?然后调用或写shell脚本,并从C++中调用并描述< /LI> 你的问题属于第三类。因此,您需要调用MATLAB引擎(参见Tal Darom的答案)或编写一个shell脚本。我会解释后者。让我们编写一个名为matlab\u script.sh的shell脚本: #/bin/sh matl

提前谢谢 >强>你想要Matlab C还是C++ API?<强>然后使用<代码> MEX < /C>函数描述,实际 < >你想把你的MATLAB程序转换成C++?<强>,然后使用描述的,和 <> > >你想从C++中运行Matlab脚本吗?<强>然后调用或写shell脚本,并从C++中调用并描述< /LI> 你的问题属于第三类。因此,您需要调用MATLAB引擎(参见Tal Darom的答案)或编写一个shell脚本。我会解释后者。让我们编写一个名为
matlab\u script.sh
的shell脚本:

#/bin/sh
matlab -nodisplay -nojvm -nosplash < your_matlab_file.m 

您需要
matlab\u script.sh
才能执行。在linux下,您通常执行
chmod+xMatlab\u script.sh

您可以从程序中启动matlab引擎,并使用matlab引擎API运行matlab脚本

请参阅位于以下位置的文档:

您可以使用它,它将matlab代码转换为一个独立的程序或库


你可以从C++代码中调用这个LabBARE,并且最终用户甚至不需要安装MATLAB(只是编译器运行时,你可以部署“免版税”),看看你能用它做什么。< /P>似乎有几个有用的链接,看起来有一些重复,请看,谢谢!我通过阅读,这是一个可能的解决方案,我发现,但这是翻译一个MATLAB代码到C++。但是,我使用的是一个完整的Matlab工具箱,这就是为什么我需要从VS调用Matlab并在Matlab中执行脚本,而不是翻译工具箱,这是我无法做到的。你不需要查看shell脚本,使用Matlab引擎的程序的用户不需要安装Matlab来运行它,通过使用Matlab编译器。Matlab编译器SDK对于OP的需求来说是不是太过分了?他使用MATLAB工具箱,他可能需要交互式地编辑他的MATLAB脚本和他的C++代码。他的Matlab和C++程序实际上从不互相交谈。C++编写和MATLAB读取,基本IO。一个shell脚本就可以做到这一点。这不是对当前OP问题的回答,但需要注意的是:MATLAB引擎需要在同一台PC上安装MATLAB,而使用.exe和.dll等有时只需要MATLAB运行时。这是一种方法。非常感谢您的帮助!

system("matlab_script.sh");