C++包扩展_利用 MATLAB Coder 将M代码生成C/C++代码

46c1911b25db341ece0b754a525520de.png
利用MATLAB Coder将MATLAB代码生成C/C++代码​mp.weixin.qq.com
9ba48d5021d2713849e46db2adf0f460.png
MATLAB Coder 可以将MATLAB代码生成工程中常用的嵌入式或其他硬件平台的C或者C++代码。使用者可以在MATLAB中进行验证,然后将生成后的代码集合到工程中。集合的方式可以是源码,静态库和动态库。

63a5bf205ec02b87c166010a2b2a3808.png
在最近发布的 R2018b (4.1版)中,Coder 中新增了一些功能,包括了对深度学习,统计与机器学习,5G和模糊逻辑,跟踪和传感融合等工具箱进行了update,另外一部分是对 Coder 本身的功能进行了扩展,增加了树莓派硬件的支持包,对标准数学库,类支持和编译器支持等进行了扩展。

-

本文将对如何利用 MATLAB 的 Coder 将 MATLAB 代码转为 C (C++同理)进行介绍。

首先,在MATLAB中创建一个函数,这里构造了一个简单的函数RadarSay,假设存在4个通道的数据,通过该函数,可以得到目标的距离,速度和角度,以及SNR信息。

44db19181449725fd5c3684570da39b2.gif

然后在写一个测试脚本,验证函数是否实现功能。

49a8a5d964cc9f89e68a1bb533f74f15.png

可以看到,通过运行测试脚本,利用测试数据可以得到目标的距离,速度和角度以及SNR信息。

2104a9d2604a288fb3390e20374286ea.gif

下一步,在APP界面中打开Coder,进行MATLAB转C的处理。

1a2b212b29764b791279ea48485b91bf.gif

打开将要进行转C的MATLAB函数

6d21aafffdab9b8fd23e32e49f8749cd.gif

定义函数输入参数的数据类型,这里可以手动输入也可以利用测试脚本自动识别。

1e3d4648bcd9c28a24b5eeb623135042.gif

然后对转C的MATLAB函数进行错误和语法检查。

afc89189560e2fb1a3758fc4c0b09b07.gif

最后一步生成C/C++代码,直接点击生成即可。

35235d92441a2b5b05c84a64635b91e2.gif

生成成功会有完成提示。

77c2b4513372fa6bea87a177c78ee03e.gif

下面将用VS2013对生成的C语言进行验证,如图创建一个空的工程。

6b47ee15677135f4decb2ce62293a472.png

将上面生成的.c文件和.h文件分别添加到头文件和源文件目录下。

6168035a7595fe39edcc7a271e7533f6.gif

对Coder的C代码结果与MATLAB结果进行对比,结果一致。

b96c1e483f8ffd791bc84663f343df95.gif

> 软件环境

  • MATLAB R2018a 64bit
  • VS2013

后台回复 MATLAB 可获取R2018a版本MATLAB的下载链接。

8908fc7720f522135310838dbf1ea963.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值