可变大小数据
用于代码生成的可变大小数据定义和不同之处
您可以将 MATLAB Function 和 MATLAB System 模块中的变量指定为可变大小,可变大小指在编译时未知或在运行时变化的数据。
模块
MATLAB Function | 在 Simulink 模型中包含 MATLAB 代码 |
MATLAB System | 在模型中包含 System object |
函数
coder.areUnboundedVariableSizedArraysSupported | Check if current configuration settings allow unbounded variable-size arrays (自 R2024a 起) |
coder.varsize | 声明可变大小数据 |
主题
- 可变大小数组的代码生成
可变大小数据是其大小在编译时未知或其大小在运行时可能发生变化的数据。
- 声明可变大小的 MATLAB Function 模块变量
允许在 MATLAB Function 模块中定义的变量在仿真期间更改大小。
- Unbounded Variable-Size Signals
Model unknown size data using dynamic arrays.
- 为代码生成定义可变大小数据
选择定义可变大小数据的方法。
- Use Dynamic Memory Allocation for Variable-Size Arrays in a MATLAB Function Block
Generate C/C++ code that uses dynamic memory allocation.
- 控制 MATLAB Function 模块中可变大小数组的内存分配
禁用动态内存分配或为 MATLAB Function 模块指定动态内存分配阈值。
- Specify Upper Bounds for Variable-Size Arrays
To avoid dynamic memory allocation, specify upper bounds for a variable-size array.
- 在代码生成的可变大小支持方面与 MATLAB 的不兼容性
某些情况下,可变大小数据在生成的代码中的结果与 MATLAB® 中的结果不同。
- Variable-Sizing Restrictions for Code Generation of Toolbox Functions
Some restrictions for variable-size data apply to multiple toolbox functions.
疑难解答
对大小不匹配和上界检测错误进行故障排除。