MATLAB Language Features Supported for C/C++ Code Generation

MATLAB Features That Code Generation Supports

Code generation from MATLAB® code supports the following language features:

MATLAB Language Features That Code Generation Does Not Support

Code generation from MATLAB does not support the following frequently used MATLAB features:

  • scripts

  • implicit expansion

    Code generation does not support implicit expansion of arrays with compatible sizes during execution of element-wise operations or functions. If your MATLAB code relies on implicit expansion, code generation results in a size-mismatch error. For fixed-size arrays, the error occurs at compile time. For variable-size arrays, the error occurs at run time. For more information about implicit expansion, see Compatible Array Sizes for Basic Operations (MATLAB). For code generation, to achieve implicit expansion, use bsxfun.

  • GPU arrays

    MATLAB Coder™ does not support GPU arrays. However, if you have GPU Coder™, you can generate CUDA® MEX code that takes GPU array inputs.

  • calendarDuration arrays

  • Java®

  • Map containers

  • timetables that have datetime vectors as row times

  • time series objects

  • try/catch statements

  • Function argument validation

This list is not exhaustive. To see if a feature is supported for code generation, see MATLAB Features That Code Generation Supports.