Variable-Size Data
During code generation, the code generator identifies arrays, including scalars, vectors, and matrices, as either fixed size or variable size.
The code generator designates an array as variable size if it cannot determine the size of the array or if the size of the array changes.
The code generator designates an array as fixed size if it can determine that the size of the array does not change.
Understanding how the code generator handles fixed- and variable-size arrays can help you to diagnose and fix errors during code generation. If your application does not require variable-size arrays, you can also fine-tune variable sizing and dynamic memory allocation to potentially improve the performance of the generated code.
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 |
Troubleshooting
Resolve Error: Arrays Have Incompatible Sizes
Troubleshoot size incompatibility errors that occur during code generation.
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.
Resolve Error: coder.varsize Not Supported for Class Properties
Troubleshoot code generation error when using coder.varsize
with properties of a MATLAB class.
Resolve Error: Unable to Produce Column Vector from Scalar
Troubleshoot error when an input argument that is a variable-length column vector at code generation time is a scalar at run time.
Resolve Error: Incorrect Size for Expression
Troubleshoot MEX function error when the size of an array at run time is incompatible with the size of the array in the generated code.