我有一些在 MATLAB 中绘制三角形的代码。
我需要能够以某种方式从生成这些点的 C 程序中执行此代码。
那可能吗?如何做呢?
只是一个想法: 我可以以某种方式将 MATLAB 代码嵌入到 C 中,以便它可以在 C 编译器上编译吗?
我有一些在 MATLAB 中绘制三角形的代码。
我需要能够以某种方式从生成这些点的 C 程序中执行此代码。
那可能吗?如何做呢?
只是一个想法: 我可以以某种方式将 MATLAB 代码嵌入到 C 中,以便它可以在 C 编译器上编译吗?
Mathworks 网站有完整的详细信息;从 C 调用 Matlab 引擎的演示视频,以及从Matlab 到 C 编译器的演示视频。
正如回答者之前提到的,您可以通过MATLAB 引擎接口从 C 调用 MATLAB 的实时副本。
如果需要在没有 MATLAB 实时副本的情况下使用最终产品,您可以使用MATLAB Compiler部署应用程序。但是,正如另一个答案所建议的那样,MATLAB Compiler 不会将 MATLAB 程序转换为 C 代码(现在有几个版本还没有这样做)。相反,它会归档和加密您的 MATLAB 程序,并将其打包到一个可执行或共享库中,该库可针对 MATLAB 编译器运行时执行(可共享免版税)。然后可以从 C 调用可执行文件或共享库。
或者,您可以反过来,使用loadlibrary或 MATLAB 的MEX 接口从 MATLAB 调用您的 C 代码。
更新:从 R2011a 版本开始,您还可以使用MATLAB Coder直接从 MATLAB 语言的子集生成 C 代码。
查看有关在 C 或 C++ 应用程序中集成 MATLAB 算法的演示文稿http://www.mathworks.com/videos/integrating-matlab-algorithms-in-c-or-c-applications-86431.html