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博客

相关推荐
yugi9878385 小时前
基于MATLAB强化学习的单智能体与多智能体路径规划算法
算法·matlab
永远是我的最爱13 小时前
基于.NET的小小便利店前台收银系统
前端·sqlserver·.net·visual studio
IT猿手14 小时前
基于强化学习的多算子差分进化路径规划算法QSMODE的机器人路径规划问题研究,提供MATLAB代码
算法·matlab·机器人
fie888918 小时前
基于MATLAB的转子动力学建模与仿真实现(含碰摩、不平衡激励)
开发语言·算法·matlab
机器学习之心18 小时前
基于GRU门控循环单元的轴承剩余寿命预测MATLAB实现
深度学习·matlab·gru·轴承剩余寿命预测
简简单单做算法19 小时前
基于FFT粗估计和LS最小二乘法精估计的正弦信号参数估计和检测matlab仿真
matlab·最小二乘法·参数估计·fft粗估计·ls最小二乘法
kaikaile199519 小时前
基于MATLAB的滑动轴承弹流润滑仿真程序实现
开发语言·matlab
Not Dr.Wang4221 天前
FIR数字滤波器设计的两种实现
matlab
3GPP仿真实验室1 天前
【MATLAB源码】CORDIC-QR :基于Cordic硬件级矩阵QR分解
开发语言·matlab·矩阵
民乐团扒谱机2 天前
【微实验】机器学习之集成学习 GBDT和XGBoost 附 matlab仿真代码 复制即可运行
人工智能·机器学习·matlab·集成学习·xgboost·gbdt·梯度提升树