有关MATLAB中矩阵存储矩阵怎么看方式以及MATLAB coder生成C程序

Coder?可以将含有MATLAB代码的Simulink?模型生成C代码生成的C代码可以用来:

  • 可以对定点和浮点数学运算生成MEX函数;
  • 可以利用工程管理工具来确定输入点和输入数据属性以及代码生成的配置選项;
  • 可为变大小的数据提供静态或动态内存存储矩阵怎么看位置;
  • 支持一般的MATLAB语言行为,包括矩阵操作下标操作,程序控制语句(ifswitch,forwhile)以及结构体。


MATLAB Coder  工程管理界面(左)和代码生成报告(右)该报告显示了生成的C代码.

  • 矩阵和数组:比如持续变量,全局变量矩阵操作,N维数组下标操作和帧

  • 类和数据类型:比如复数, 整形数据匹配单精度双精度,定点运算字符,结构体数值类和变长度数据

  • 函数:比如函数句柄,子函数和部分MATLAB函数变长度输入和输出声明列表和子函数的调用

  • 将MATLAB算法生成在PC机上可以运行的可执行文件;

  • 可以通過用自动生成的MATLAB可执行文件(MEX函数)替换MATLAB代码来加快仿真速度,MEX函数就是调用编译好的C/C++代码;

  • 可以将MATLAB算法作为一个编译好的库集成到其他嘚软件中;

  • 可以在嵌入式处理器中执行和验证MATLAB算法

Coder可以在MATLAB语言环境中指导你完成这个过程。由于MEX函数需要调用编译好的C代码所以可以通过生成MEX函数,然后在MATLAB中运行该函数来确保你的算法符合代码生成规则MATLAB    Coder 生成一个报告,这个报告中会指出在从MATLAB算法到生成代码过程中必須改正的错误通过不断的修正错误、生成MEX函数这种迭代过程直到MATLAB算法满足代码生成的要求,这时就可以生成C/C++的源代码或者MEX函数了

C 或者C++源代码可以用来:

  • 将MATLAB算法生成在PC机上可以运行的可执行文件;

MEX文件可以代替MATLAB代码被调用:

  • 可以在MATLAB中验证编译后的代码


Simulink中的雷达跟踪模型,這个模型使用MATLAB Function模块在这个模块中有用MATLAB编写的卡尔曼滤波算法

      Embedded Coder可以针对支持的嵌入式处理器、面向目标的快速控制原型板及微处理器的需偠和微处理器生成代码,它提供了配置选项和可以更好的控制生成代码的函数、文件和数据的高级优化选项因此它扩展了MATLAB Coder和Simulink Coder。Embedded Coder 提高了代碼效率并且能很方便的集成已有代码,数据类型和产品中的标定参数

      使用Embedded Coder生成的代码,可以导出到第三方的开发环境中可以在嵌入式系统中自动创建可执行文件。生成的代码可以在处理器上执行用来验证性能可以通过PIL仿真和代码剖析的方法来查看代码在硬件上的运荇情况。

使用MATLAB Coder产生代码的3个步骤:准备用于产生代码的MATLAB算法;检查MATLAB代码的兼容性(有些matlab代码语句并不能生成c/c++代码);产生最终使用的源代码或MEX

一个简单的例子,两数相乘

2、简单生成一个foo.m文件;

其中%#codegen可以防止出现警告错误

3、在命令窗口,输入mex -setpu,选中一个存在的编译器;

11、利用codeblocks建立一个控制台应用程序将生成的相关文件foo.h、foo.cpp、rtwtypes.h、foo_types.h等文件拷到相关目录下并添加到应用程序中;

一个复杂的例子,求一个数的n次方根

5、添加三个输入分别为10、2、1e-9;两个输入也可以;

2012a 摘要 借助 可以缩短软件开发从方案到 实现的时间 加速软件 开发 本文提出一种方法 利用 Matlab Coder Matlab 、 C , 的 代码生成工具箱 将 经典 图像处理代码 转换成 高效 可移植 的 代码静 态库 文件 成 功移植到 ARM9 , , 开发系统下运行 对 比实验表明 用本文提出的方法 生成 的软件代码 在嵌入 式 目标系统中运行状 况

摘要:   MathWorks 日前宣布推出 MATLAB Coder该工具使设计工程师可以直接从其 MATLAB 算法自动生成可读、可移植的 C 和 C 代码。使用此新产品可无需将 MATLAB 算法代码手动转换为 C 和 C 代码来进行原型建立、實现和软件集成这一自动化可形成更快、更高效的系统开发工作流程。   算法密集型电子和通信系统的设计通常首先使用 MATLABMATLAB 算法最后需要转换为 C 代码,以集成到最终产品中从 MATLAB 手动转换为 C 可能


  MathWorks 日前宣布推出 MATLAB Coder,该工具使设计工程师可以直接从其 MATLAB 算法自动生成可读、可迻植的 C 和 C 代码使用此新产品可无需将 MATLAB 算法代码手动转换为 C 和 C 代码来进行原型建立、实现和软件集成。这一自动化可形成更快、更高效的系统开发工作流程
  算法密集型电子和通信系统的设计通常首先使用 MATLAB。MATLAB 算法最后需要转换为 C 代码以集成到最终产品中。从 MATLAB 手动转换為 C 可能需要数天到数周的时间有可能产生设计错误并造成投放市场的时间延迟。现在设计工程师可以使用 MATLAB 加快开发任务(如定点设计和原型建立)然后使用 MATLAB Coder 自动生成 C 代码。
  MATLAB Coder 支持用于算法开发的 MATLAB 语言功能扩展集包括内置矩阵数学运算符和动态数组处理,以及支持数百个运算符、函数和系统对象包括许多用于 DSP 和通信的高级算法。
技术为快速原型建立、实时测试和产品级嵌入式系统的实现提供了完整代码生成支持以及指向嵌入式开发环境的内置链接。
CoderMathWorks 为所有客户提供了简单而又更全面的代码生成产品。”

我要回帖

更多关于 存储矩阵怎么看 的文章

 

随机推荐