MATLAB Coder? 可以从MATLAB?代码生成独立的、可读性强、可移植的C /C++代码。MATLAB Coder 支持程序控制结构,函数和矩阵操作。它可以生成MEX函数,该函数可以加速MATLAB代码的运行速度并且验证生成代码的属性。MATLAB Coder?结合 Simulink Coder?和 Embedded Coder?可以将含有MATLAB代码的Simulink?模型生成C代码,生成的C代码可以用来:
单独执行
与其他软件集成
加速仿真MATLAB算法
实现嵌入式系统
特点:
生成符合ANSI/ISO标准的C / C++ 代码;
可以对定点和浮点数学运算生成MEX函数;
可以利用工程管理工具来确定输入点和输入数据属性以及代码生成的配置选项;
可为变大小的数据提供静态或动态内存存储位置;
代码生成支持Communications System Toolbox?, DSP System Toolbox?, 和Computer Vision System Toolbox?许多函数和系统对象;
支持一般的MATLAB语言行为,包括矩阵操作,下标操作,程序控制语句(if,switch,for,while)以及结构体。
MATLAB Coder 工程管理界面(左)和代码生成报告(右),该报告显示了生成的C代码.
强大的功能
■ 可生成代码的MATLAB 语言子集
MATLAB Coder可以针对某些MATLAB 语言生成代码,这些语言一般都是设计工程师在开发大型系统的算法时经常用到的。这些支持的子集包括超过400个操作符和MATLAB中的函数。
MATLAB Coder支持对Aerospace Toolbox,Image Processing Toolbox?和Signal Processing Toolbox?中的部分函数生成代码,而且支持对Communications System Toolbox?,Computer Vision System Toolbox?和DSP System Toolbox?中的系统对象生成代码。
MATLAB Coder支持开发算法时用到的大部分MATLAB语言,包括:
矩阵和数组:比如持续变量,全局变量,矩阵操作,N维数组,下标操作和帧
类和数据类型:比如复数, 整形数据匹配,单精度双精度,定点运算,字符,结构体,数值类和变长度数据
编程结构:比如MATLAB程序控制结构(if, for, while, switch)和数学运算,逻辑关系操作符
函数:比如函数句柄,子函数和部分MATLAB函数,变长度输入和输出声明列表和子函数的调用
■MATLAB Coder的应用
MATLAB Coder的应用通过使用MATLAB Coder,设计工程师可以在MATLAB中开发算法,然后生成可读性强和可移植的C/C++代码,利用该代码可以: