Matlab程序转为C++代码

Matlab程序转为C++代码

实验室项目需要,将Matlab程序转为C++代码的过程记录下来,方便后续查找和别人使用。

前言

  1. Matlab版本为R2019b,VS版本为2017;
  2. 并不是所有的Matlab函数都支持转为C++代码的,如果存在这样的函数需要自己写代码实现这样的功能
  3. 只支持Matlab函数生成,因此需要将脚本文件转化为函数进行生成

C++代码生成

1.编写好对应算法的m文件,将脚本转化为函数格式,输出需要的变量,以如下程序为例;
在这里插入图片描述

2.在Matlab的App模块中找到如下图所示的Matlab Coder模块;
在这里插入图片描述
3.点击Matlab Coder模块,选择需要转换的M文件;

4.点击Next,选择调用了转换M文件的程序(不是需要转化的程序,如下所示,test.m,几行代码即可),可以选择自动定义变量的数据类型、大小等,也可以手动定义;
在这里插入图片描述

5.点击Next,如果此时有无法转化的Matlab自带的函数,会报错提示无法转化,需要将调用的函数重新编写;
6.如果不存在无法转化的函数,则会跳出以下界面,继续选择调用了转换M文件的程序(不是需要转化的程序),点击Check for Issues,Matlab会自动检测代码的正确性,三个全绿即可通过(如果确保代码没有问题,第三个提示错误也可以通过,前两个正确即可);

7.点击Next,这一步非常重要,前四项按照需要进行选择,再硬件选择一栏需要选择好移植的硬件,可以选择各种硬件,如果没有满足要求的选项则需要选择None-select device below,然后会出现Device选项,按照需要进行选择,我们的项目需求为Intel芯片的win64电脑(Inetl和AMD的芯片需要区别选择),之后在Toolchain栏选择编译工具,本项目选择VS2017进行编译(VS不同版本对于生成的代码格式要求不同,需要认真选择),最后点击Generate生成所需代码;

8.生成的文件如下图,项目所需的app文件和h文件已经生成,按照提示就可以找到所需的文件;


9.Matalb会给出一个生成文件调用的示例文件,在examples文件夹中,如下图,可按照示例文件格式进行代码编写

后记

在实际的项目中,会调用需要比较复杂的Matlab函数,此时会需要较多的dll文件,在VS中建立项目会发现dll文件缺失或者找不到的现象,这是因为Matlab在生成C项目文件时没有将需要的dll文件添加过来,需要的dll文件在 D:\Softwares\MatlabR2019b\bin\win64 路径下,可以用everything工具进行查找,具体有两种解决方法:

  1. 直接将所有的dll文件复制过来,这会使得项目太大,不太可取
  2. 直接运行VS的项目文档,此时VS会报缺失的dll文件,直接在上述文件夹下查找然后添加到项目中即可
  • 9
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值