MATLAB Code Analysis

Identify and fix issues in MATLAB® code that prevent C/C++ code generation

Successful C/C++ code generation from MATLAB code depends on compliance with code generation rules and limitations. For example, your MATLAB code must only use MATLAB functions and toolbox functions supported for code generation. To identify and fix issues with your MATLAB code, prior to C/C++ code generation, you can use the Code Analyzer and Code Readiness Tool. To check that your MATLAB code produces generated code that works as expected, generate and execute a MEX function, which is executable and testable in the MATLAB environment.

Functions

codegenGenerate C/C++ code from MATLAB code
coder.runTestRun test replacing calls to MATLAB functions with calls to MEX functions
coder.screenerDetermine if function is suitable for code generation

Topics

MATLAB Code Analysis Basics

Workflow for Preparing MATLAB Code for Code Generation

Prepare MATLAB code for C/C++ code generation or code acceleration.

Fixing Errors Detected at Design Time

Fix errors detected by the code analyzer.

Fix Errors Detected at Code Generation Time

Fix errors and warnings listed in the code generation report.

Debugging Strategies

Choose a strategy for detecting and correcting code that is not suitable for code generation.

Using MEX Functions That MATLAB Coder Generates

Accelerate your MATLAB function or test generated code for functionality and run-time issues.

Code Analyzer

Using the Code Analyzer

Check for MATLAB code violations at design time.

Check Code with the Code Analyzer

Check for MATLAB code violations in the MATLAB Editor.

Code Readiness Tool

Code Generation Readiness Tool

Interpret code generation readiness tool report.

Code Generation Readiness Screening in the MATLAB Coder App

The app screens your MATLAB code for unsupported features and functions.

Check Code by Using the Code Generation Readiness Tool

Run the code generation readiness tool at the command line, from the current folder browser, or in the app.

MEX Function Testing

Workflow for Testing MEX Functions in MATLAB

Test MEX functions before generating C/C++ code.

Why Test MEX Functions in MATLAB?

Test a MEX function to verify that it provides the same functionality as the original MATLAB code.

Generate MEX Functions by Using the MATLAB Coder App

Follow the workflow for generating MEX functions with the MATLAB Coder™ app.

Generate MEX Functions at the Command Line

Follow the workflow for generating MEX functions with codegen.

Check for Run-Time Issues by Using the App

Detect and fix issues that are harder to find in generated standalone C/C++ code.

Running MEX Functions

Call a MEX function in the same way that you call the original MATLAB function.

Collect and View Line Execution Counts for Your MATLAB Code

See how well your test exercises MEX code generated from your MATLAB code.

Debug Run-Time Errors

Debug issues with generated MEX functions.

Troubleshooting

Unable to Determine Code Generation Readiness

The code generation readiness tool fails when it is unable to find your entry-point files.

Unable to Open a MATLAB Coder Project

Use a backup project file to revert to the format of an earlier release.

Slow Operations in MATLAB Coder App

Disable code generation readiness screening.