Visual Studio调用matlab的二种方式及区别

VS调用matlab的方式有两种:

方式1调用MATLAB引擎

首先,添加头文件 #include "engine.h"

然后,引用函数调用依赖库(lib) libeng.lib libmx.lib libmat.lib,之后就可以调用MATLAB引擎。

方式2调用MATLAB生成的dll

调用MATLAB生成的DLL是一种比较通用的方法,这样每次使用时只需调用这个模块就可以了。

(1)首先确认MATLAB已经完成VS配置、系统环境变量配置以及MATLAB编译器配置。

(2)将需要MATLAB完成的功能做成一个MATLAB函数。

(3)利用mcc命令编译,得到h、dll、lib等文件,在C/C++工程中只需加入上述文件即可。

(4)新建工程调用所得文件。

方式1无论是开发还是运行都必须安装完整版matlab,对VS的版本没有严格要求,相当于直接引用matlab的dll和lib,比如VS2013可以调用matlab2010a

方式2需要利用matlab的VS编译器将代码文件生成dll和lib,因此,对VS版本要求严格,必须是matlab版本支持的VS版本,VS的版本比matlab低。开发要用到完整版matlab,但是运行只需要matlab runtime即可。matlab的runtime比较大,matlab2010a runtime是100多M,matlab2014a runtime 600多M,但是比起它的matlab来说还是小多了。

参考文献

vs2013 & Matlab 2018 (64)混合编程_matlab2018b 支持vs2013mex-CSDN博客C语言调用matlab引擎和调用matlab生成的DLL文件-CSDN博客https://www.cnblogs.com/zhchngzng/p/4131035.html

Matlab发布程序出错:Test checkout of feature 'Compiler' failed 解决方式_test checkout of feature 'compiler' failed.-CSDN博客

相关推荐
gihigo19986 小时前
基于蒙特卡洛的异常值剔除(RANSAC + MC置信区间)—MATLAB实现
开发语言·算法·matlab
我爱C编程12 小时前
基于BellHop模型的海底网络节点部署matlab模拟与仿真
matlab·bellhop·bellhop模型·海底网络节点部署
小白小宋12 小时前
【PUSCH番外篇】5G NR 相位补偿与频移校正:原理、流程与工程实现
算法·5g·matlab·信息与通信·信号处理
2zcode12 小时前
基于MATLAB语音信号变声算法设计与实现
算法·matlab·语音识别·变声算法
guygg881 天前
人行走作用下板的振动响应 MATLAB 仿真
开发语言·matlab
ji198594431 天前
MATLAB 求散点曲线斜率
开发语言·算法·matlab
kaikaile19951 天前
MATLAB 实现:Koch & Zhao 图像水印算法(DCT域)
开发语言·算法·matlab
阿里matlab建模师1 天前
基于matlab时域频域处理的语音信号变声处理系统设计与算法原理(论文+程序源码+GUI图形用户界面)——变声算法
算法·matlab·语音识别
简简单单做算法1 天前
基于OFDM的车联网雷达通信一体化感知算法matlab性能仿真
matlab·ofdm·车联网·雷达通信一体化
rit84324991 天前
MATLAB近红外光谱预处理:平滑与求导(MSV方法)
数据结构·算法·matlab