从MATLAB代码生成C/C++代码

标签:
it |
MATLAB Coder
|
|
http://www.hirain.com/images/dot.gif | |
——从MATLAB代码生成C/C++代码
- 单独执行
- 与其他软件集成
- 加速仿真MATLAB算法
- 实现嵌入式系统
特点:
- 生成符合ANSI/ISO标准的C / C++ 代码;
- 可以对定点和浮点数学运算生成MEX函数;
- 可以利用工程管理工具来确定输入点和输入数据属性以及代码生成的配置选项;
- 可为变大小的数据提供静态或动态内存存储位置;
- 代码生成支持Communications System Toolbox™, DSP System Toolbox™, 和Computer Vision System Toolbox™许多函数和系统对象;
- 支持一般的MATLAB语言行为,包括矩阵操作,下标操作,程序控制语句(if,switch,for,while)以及结构体。
http://www.hirain.com/eWebEditor/UploadFile/2011718134853858.jpg
MATLAB Coder
强大的功能
-
矩阵和数组:比如持续变量,全局变量,矩阵操作,N维数组,下标操作和帧
-
类和数据类型:比如复数, 整形数据匹配,单精度双精度,定点运算,字符,结构体,数值类和变长度数据
-
编程结构:比如MATLAB程序控制结构(if, for, while, switch)和数学运算,逻辑关系操作符
-
函数:比如函数句柄,子函数和部分MATLAB函数,变长度输入和输出声明列表和子函数的调用
-
将MATLAB算法生成在PC机上可以运行的可执行文件;
-
可以通过用自动生成的MATLAB可执行文件(MEX函数)替换MATLAB代码来加快仿真速度,MEX函数就是调用编译好的C/C++代码;
-
可以将MATLAB算法作为一个编译好的库集成到其他的软件中;
-
可以在嵌入式处理器中执行和验证MATLAB算法。
http://www.hirain.com/eWebEditor/UploadFile/2011718135858240.jpg
MATLAB
Coder应用情况
C 或者C++源代码可以用来:
-
将MATLAB算法生成在PC机上可以运行的可执行文件;
-
创建一个库;
-
作为嵌入式代码运行。
MEX文件可以代替MATLAB代码被调用:
-
可以在MATLAB中验证编译后的代码
-
加速执行速度
http://www.hirain.com/eWebEditor/UploadFile/201171814126544.jpg
通过使用MATLAB
Coder从MATLAB生成代码的三步迭代流程
http://www.hirain.com/eWebEditor/UploadFile/201171814331572.jpg
Simulink中的雷达跟踪模型,这个模型使用MATLAB
Function模块
在这个模块中有用MATLAB编写的卡尔曼滤波算法