c++ 代码_不是吧,MATLAB代码居然能直接转成C/C++代码

前一段时间在工作中遇到这样一个实际问题,项目主体部分是用C++写的,但其中有一小部分算法是用MATLAB写的。于是乎,我第一想法是如何用C++把MATLAB中的代码实现出来。

这时,一位前辈语重心长地和我说:“可以去网上找一下MATLAB Coder。”

当时听完一脸懵逼,什么是MATLAB Coder?它有什么用?

于是在网上查阅了一些资料之后,发现MATLAB Coder实际上是MATLAB自带的一个应用程序。这个应用程序的牛X之处在于它可以直接将MATLAB代码转换成C/C++代码

e23c8325996f11d9ee0f51667c5dea23.png

就在我以为使用MATLAB Coder可以轻松地转换时,但是在实际使用过程中依然遇到一些雷区,这些雷区是在网上查不到。

为了防止小伙伴继续“踩雷”,今天详细地讲解一下如何使用MATLAB Coder将MATLAB代码转换成C/C++代码?如何避免一些“雷区”?


01 | 准备工作
在使用MATLAB Coder前,我们需要先对MATLAB代码进行一些处理,主要包括:

(1)删除MATLAB代码中所有的注释(这是第一个“雷区”,必须要把MATLAB代码中注释全部删干净,否则无法成功转换)。

(2)删除MATLAB代码中画图和打印部分的代码,简而言之,就是把什么plot、disp之类的代码全部删除掉。如果不删除这些代码,则会导致无法成功转换,这是第二个“雷区”

(3)如果在MATLAB代码中想要把一个未知行(列)数的数据储存在矩阵中,常规的做法是先令这个储存的矩阵A为空。

A

假设要添加的若干行数据,每次添加的数据都为B。然后可以用如下的代码将要添加的数据添加进来。

A

这其实是最容易忽视的一个“雷区”,C/C++不允许你MATLAB存在这么牛X的方法,因此如果MATLAB代码中存在上述类型添加数据的代码,那么是无法成功转换的。

解决方案:先求出

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值