可变大小数据
在加速和定点转换期间,代码生成器将数组(包括标量、向量和矩阵)识别为固定大小或可变大小。
如果代码生成器无法确定数组的大小或数组的大小发生变化,则代码生成器将该数组指定为可变大小。
如果代码生成器可以确定数组的大小不变,则代码生成器将该数组指定为固定大小。
了解代码生成器如何处理固定大小和可变大小数组可以帮助您在代码生成期间诊断和修复错误。如果您的应用程序不需要可变大小数组,您还可以微调可变大小和动态内存分配,这可能会提高生成代码的性能。
函数
coder.areUnboundedVariableSizedArraysSupported | 检查当前配置设置是否允许无界可变大小数组 (自 R2024a 起) |
coder.varsize | 解决大小不兼容性错误并声明上界 |
主题
- Generate Code for Variable-Size Arrays (MATLAB Coder)
Learn how the code generator defines and handles fixed- and variable-size data.
- 为具有 end + 1 索引的增大数组和元胞数组生成代码 (MATLAB Coder)
用简单的语法在 MATLAB® 代码中增大数组和元胞数组。
- Control Dynamic Memory Allocation in Generated Code (MATLAB Coder)
Balance memory usage and performance by controlling dynamic memory allocation for fixed- and variable-size arrays.
- Specify Upper Bounds for Variable-Size Arrays in Generated Code (MATLAB Coder)
To avoid dynamic memory allocation, specify upper bounds for variable-size arrays.
- 在代码生成的可变大小支持方面与 MATLAB 的不兼容性 (MATLAB Coder)
了解可变大小数据如何导致生成代码的行为与 MATLAB 不同。
疑难解答
解决错误:数组大小不兼容 (MATLAB Coder)
对代码生成过程中出现的大小不兼容性错误进行故障排除。
解决错误:左侧是固定大小,而右侧是可变大小 (MATLAB Coder)
在将可变大小数组赋给固定大小数组时对错误进行故障排除。
解决错误:字符串不支持 coder.varsize (MATLAB Coder)
对将 coder.varsize 与字符串变量结合使用时的代码生成错误进行故障排除。
Resolve Error: coder.varsize Not Supported for Class Properties (MATLAB Coder)
Troubleshoot code generation error when using coder.varsize
with properties of a MATLAB class.
增大在运行时初始化为标量的可变大小列数组 (MATLAB Coder)