MATLAB代码设计考虑代码生成
当编写MATLAB®你想转换成高效的代码,独立的C / c++代码,您必须考虑以下几点:
数据类型
C和c++使用静态类型。确定类型的变量在使用之前,MATLAB编码器™需要一个完整的每个变量赋值。
数组大小
适应可变数组和矩阵是支持代码生成。金宝app您可以定义输入、输出,局部变量在MATLAB函数来表示数据,在运行时不同的大小。
内存
你可以选择是否生成的代码使用静态或动态内存分配。
使用动态内存分配,您可能使用更少内存的时间来管理内存。与静态记忆,你会获得更好的速度,但由于更高的内存使用。大多数MATLAB代码利用MATLAB中的动态分级特性,因此动态内存分配通常允许您生成代码从现有的MATLAB代码无需修改它。动态内存分配还允许一些程序无法找到编译即使上界。
静态分配的内存占用减少生成的代码,因此适用于应用程序哪里有数量有限的可用内存,如嵌入式应用程序。
速度
因为嵌入式实时应用程序必须运行,代码必须足够快,以满足所需的时钟频率。
改善的速度生成的代码:
选择一个合适的C / c++编译器。不要使用默认的编译器MathWorks吗®供应与MATLAB的窗户®64位平台。
考虑禁用运行时检查。
为了安全,在默认情况下,生成的代码为您的MATLAB代码包含内存完整性检查和响应性检查。一般来说,这些检查的结果生成的代码和慢的仿真。禁用运行时检查通常在streamlined生成的代码和更快的仿真结果。禁用这些检查只有如果你有验证数组界限和尺寸检查是不必要的。