Contenu principal

Données de taille variable

Définition et différences pour la génération de code

Pendant la génération de code, le générateur de code identifie les tableaux, y compris les scalaires, les vecteurs et les matrices, comme étant soit de taille fixe, soit de taille variable.

  • Le générateur de code désigne un tableau comme étant de taille variable s’il ne peut pas déterminer sa taille ou si celle-ci change.

  • Le générateur de code désigne un tableau comme étant de taille fixe s’il peut déterminer que sa taille ne change pas.

En comprenant comment le générateur de code gère les tableaux de taille fixe et variable, vous pourrez plus facilement diagnostiquer et corriger les erreurs pendant la génération de code. Si votre application ne nécessite pas de tableaux de taille variable, vous pouvez également ajuster le dimensionnement des variables et l’allocation dynamique de mémoire pour améliorer la performance potentielle du code généré.

Blocs

MATLAB FunctionInclude MATLAB code in Simulink models
MATLAB SystemInclude System object in model

Fonctions

coder.areUnboundedVariableSizedArraysSupportedCheck if current configuration settings allow unbounded variable-size arrays (depuis R2024a)
coder.varsizeResolve size incompatibility errors and declare upper bounds

Fondamentaux du dimensionnement variable

Generate Code for Variable-Size Arrays (MATLAB Coder)

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.

Code Generation for Arrays That Grow Via end+1 Indexing (MATLAB Coder)

Code generation considerations when you use (end+1) or {end+1} to grow an array.

Specify Upper Bounds for Variable-Size Arrays in Generated Code (MATLAB Coder)

To avoid dynamic memory allocation, specify upper bounds for variable-size arrays.

Incompatibilities with MATLAB in Variable-Size Support for Code Generation (MATLAB Coder)

Understand how the behavior of the generated code can differ from MATLAB® as a result of variable-size data.

Allocation dynamique de mémoire

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.

Résolution des problèmes

Résoudre l’erreur : tableaux de tailles incompatibles (MATLAB Coder)

Résoudre les erreurs d’incompatibilité de taille qui se produisent pendant la génération de code.

Résoudre l’erreur : taille fixe à gauche mais taille variable à droite (MATLAB Coder)

Résoudre les erreurs lors de l’affectation de tableaux de taille variable à des tableaux de taille fixe.

Resolve Error: coder.varsize Not Supported for Strings (MATLAB Coder)

Troubleshoot code generation error when using coder.varsize with string variables.

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.

Resolve Error: Unable to Produce Column Vector from Scalar (MATLAB Coder)

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 (MATLAB Coder)

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.

Sélection d՚exemples