MATLAB Coder
对于从事应用层面软件开发的工程师而言,比如,用c/c++来封装一个幂函数的曲线拟合,一个kalman滤波,一个FFT变换,需要掌握很多数学技巧,对于非数学专业的工程师而言这是件非常出力不讨好的事情。而Matlab ToolBox中封装了海量的数据函数,只需要输入参数就可以得到理想的结果。网上已经有大量的素材,此处自娱自乐从头到位操作一遍,做个简要记录,以备后查。
1. 创建一个m文件
注意考虑实现约束
- 多形性
- 内存分配
- 矩阵行列处理
- 定点数据类型
function c = mult(a,b)
c = a.*b;
另存为方程文件
mult.m
2.APP->Matlab coder
将创建的mult.m
选入入口函数列表
3.定义变量类型
matlab的编码不需要预定义变量类型,而C/C++是需要预定义类型的。所以matlab到c/c++的转化,就需要对函数中的所有变量类型做定义。
输入需要设置的接口方程的一个实例,matlab自动定义输入变量类型。通常默认为double类型。
另个一实例
也可以通过点击变量,人为设置变量类型及维度
4.检查方程错误
写一条测试语句,或者调用一个脚本来执行该接口方程,检查函数是否存在错误
5.生成C/C++代码
选择build类型,语言,硬件环境等。
注意:要编译成C++源文件需要更改为支持C++的编译器
6.生成结果
如果在定义实例中带入接口方程的是数字,那么生成的就是单个变量的形参代码。其它形参类型,需要在定义变量的环节指定。
7.查看报告
更详细的解读参考mathwork工程师的讲解
https://www.bilibili.com/video/BV1vW411G7Cn?from=search&seid=16310254185564382544