当前位置: 首页 > news >正文

MATLAB函数封装1:生成QT可以调用的.dll动态链接库

在进行相关算法的开发和设计过程中,MATLAB具有特别的优势,尤其是对于矩阵运算的处理,具有很多现成的方法和函数可以进行调用,同时MATLAB支持把函数封装成不同的语言方便完成算法的集成。
这里记录利用MATLAB封装成C++动态链接库,需要用的环境、注意事项和封装过程中的技巧。

  1. 要想进行函数的封装过程,首先需要MATLAB的app扩展包,这里给出下载好的安装包,用MATLAB打开后可以直接进行安装,这个是安装的编译器,此安装过程不需要卸载已经安装好的MATLAB,重新安装。
    这里是百度云下载地址
    链接:https://pan.baidu.com/s/1AgXnmExI5Bcl9Zezkko7qA
    提取码:azrz
    –来自百度网盘超级会员V4的分享

  2. 封装完成的动态链接库想要在QT中进行调用,需要注意所选择的编译器要和QT中使用的编译器保持一致,

  3. 在封装函数的时候,为了防止不确定所选择的编译器,可以输入指令:

>> mbuild -setup C++
MBUILD 配置为使用 'MinGW64 Compiler (C++)' 以进行 C++ 语言编译。要选择不同的 C++ 编译器,请从以下选项中选择一种命令:
MinGW64 Compiler (C++)  mex -setup:C:\Users\sen\AppData\Roaming\MathWorks\MATLAB\R2020a\MBUILD_C++_win64.xml C++ -client MBUILD
MinGW64 Compiler with Windows 10 SDK or later (C++)  mex -setup:D:\Polyspace\R2020a\bin\win64\mexopts\mingw64_g++_sdk10+.xml C++ -client MBUILD

本人使用的时候点击勾选第一个
然后会出现

MBUILD 配置为使用 'MinGW64 Compiler (C++)' 以进行 C++ 语言编译。
  1. 在很多时候,调用MATLAB函数是为了处理矩阵数据或者应用特殊算法,为了减少qt中的矩阵处理过程,可以相应的把MATLAB中简单的矩阵变换等也封装成自己的函数进而生成.dll的动态链接库,这样就可以在qt中进行调用使用。如MATLAB中的reshape函数,卷积函数,转置函数等。

  2. 自己编写的.m函数文件可以封装,同样的对于MATLAB自带的函数也可以进行封装,也可以正常调用,同时对于调用自己的函数的嵌套函数,只要在同一个文件夹下,是可以识别后整体进行封装的,不影响使用过程。

  3. 使用deploytool进行封装就可以,不必使用
    利用app进行封装
    下面这种就可以了,这种生成的文件较少,使用起来也很方便,
    在这里插入图片描述

  4. 总结起来就是只有要函数就可以封装成C++的动态链接库。

http://www.lryc.cn/news/62094.html

相关文章:

  • 【算法题】2400. 恰好移动 k 步到达某一位置的方法数目
  • 探索【Stable-Diffusion WEBUI】的插件:骨骼姿态(OpenPose)
  • MySQL数据落盘原理(redo、undo、binlog、2PC、double write等。)
  • 智加科技+舍弗勒,首发量产正向开发的智能重卡冗余转向
  • C++类的模拟实现
  • 耐腐蚀高速电动针阀在半导体硅片清洗机化学药液流量控制中的应用
  • 助力工业物联网,工业大数据之ODS层及DWD层建表语法【七】
  • Windows环境下C++ 安装OpenSSL库 源码编译及使用(VS2019)
  • TensorFlow高阶API和低阶API
  • 强训之【参数解析和跳石板】
  • Redis队列Stream、Redis多线程详解(三)
  • MySQL统计函数count详解
  • 实验04:图像压缩(DP算法)
  • 4.19--面试系列之真题版本--redis出现大key怎么解决?Redis 大 Key 对持久化有什么影响?
  • 新手在家做自媒体要如何起步?
  • 易基因:禾本科植物群落的病毒组丰度/组成与人为管理/植物多样性变化的相关性 | 宏病毒组
  • 华为OD机试——对称美学(通过率只有8.51%???)
  • 【三十天精通Vue 3】第十六天 Vue 3 的虚拟 DOM 原理详解
  • Arduino ESP8266通过udp获取时间以及同步本地时间方法
  • c/c++:char*定义常量字符串,strcmp()函数,strcpy()函数,寻找指定字符,字符串去空格
  • 2023年6月DAMA-CDGA/CDGP数据治理认证考试可报名地区公布
  • UDS的0x19服务介绍
  • QinQ技术与Portal技术
  • Vue-自定义表单验证(rule,value,callback)详细使用
  • 港联证券|TMT板块全线退潮,这些个股获主力逆市抢筹
  • WPF学习
  • C#使用WebDriver模拟浏览器操作WEB页面
  • 正则表达式 - 简单模式匹配
  • 银行数字化转型导师坚鹏:银行数字化转型培训方案
  • 多维时序 | MATLAB实现BO-CNN-LSTM贝叶斯优化卷积神经网络-长短期记忆网络多变量时间序列预测