Variable-Size Data
You can specify variables in MATLAB Function and MATLAB System blocks as variable-size, which is data whose size is not known at compile time or changes at run time.
Blocks
MATLAB Function | Include MATLAB code in Simulink models |
MATLAB System | Include System object in model |
Functions
coder.areUnboundedVariableSizedArraysSupported | Check if current configuration settings allow unbounded variable-size arrays (Since R2024a) |
coder.varsize | Resolve size incompatibility errors and declare upper bounds |
Topics
- Generate Code for Variable-Size Arrays
Learn how the code generator defines and handles fixed- and variable-size data.
- Declare Variable-Size MATLAB Function Block Variables
Allow variables defined in MATLAB Function blocks to change size during simulation.
- Unbounded Variable-Size Signals
Model unknown size data using dynamic arrays.
- Define Variable-Size Data for Code Generation
Choose a method for defining variable-size data.
- Use Dynamic Memory Allocation for Variable-Size Arrays in a MATLAB Function Block
Generate C/C++ code that uses dynamic memory allocation.
- Control Memory Allocation for Variable-Size Arrays in a MATLAB Function Block
Disable dynamic memory allocation or specify a dynamic memory allocation threshold for MATLAB Function blocks.
- Specify Upper Bounds for Variable-Size Arrays
To avoid dynamic memory allocation, specify upper bounds for variable-size arrays.
- Incompatibilities with MATLAB in Variable-Size Support for Code Generation
Understand how the behavior of the generated code can differ from MATLAB® as a result of variable-size data.
Troubleshooting
Resolve Error: Fixed Size on the Left Side but Variable Size on the Right
Troubleshoot errors when assigning variable-size arrays to fixed-size arrays.
Resolve Error: coder.varsize Not Supported for Strings
Troubleshoot code generation error when using coder.varsize
with string variables.