MATLAB Coder generates C/C++ code from MATLAB code for various hardware platforms, from desktop systems to embedded hardware. It supports most of the MATLAB language and a wide range of toolboxes. You can integrate the readable and portable generated code into your existing C/C++ projects as source code, static libraries, or dynamic libraries. MATLAB Coder lets you package the generated code as a MEX function for use in MATLAB. You can optimize the generated code by incorporating multicore and vectorized code and calling optimized libraries.
MATLAB Coder provides code customizations, hardware-specific optimizations, code traceability, code verification using software-in-the-loop (SIL) and processor-in-the-loop (PIL) testing, and code compliance with MISRA™ guidelines (with Embedded Coder).
To deploy MATLAB programs on host platforms that MATLAB supports, use MATLAB Compiler.
Run Anywhere
Use any C/C++ compiler to compile and run your generated code on any hardware, from desktop systems to mobile devices to embedded hardware. The generated code is royalty-free—deploy it in commercial applications to your customers at no charge.
Use Functions from Toolboxes
Use the MATLAB Coder app or equivalent command-line functions to generate code for signal processing, computer vision, deep learning, control system, and other applications using MATLAB products.
Prototype on Embedded Hardware
Get to hardware fast with automatic conversion of your algorithm to C/C++. Target any device by manually integrating the generated code with your application. Automate the process for Raspberry Pi using MATLAB Support Package for Raspberry Pi.
Deploy C++ Code from MATLAB
Generate C++ classes from classes in your MATLAB code, including value classes, handle classes, and System objects. Compile the generated code into C++ libraries or executables and integrate them into your existing C++ application.
Optimize the Generated Code
Generate SIMD instructions, parallelize loops with multicore OpenMP code, and call optimized libraries such as LAPACK, BLAS, and FFTW. Use with Embedded Coder to generate processor-specific intrinsic code for even faster execution.
Deploy Deep Learning Networks and Machine Learning Models
Deploy a variety of trained networks (such as ResNet-50 and MobileNet-v2), support vector machine (SVM) models, and decision tree models, along with preprocessing and postprocessing logic, to any CPU, including Intel® and ARM® Cortex® processors.
Integrate with Software
Reuse MATLAB algorithms as C/C++ source code or libraries within your software environment. Generated code uses C/C++ types in a natural way and can call your existing trusted C/C++ functions, simplifying integration with external code.
Reuse MATLAB Tests on Generated Code
Reuse existing MATLAB tests to verify the behavior of generated code in the interactive MATLAB environment. Use the MATLAB unit test framework to quickly develop a rich set of regression tests that can be used to verify your generated C/C++ code.
Accelerate Algorithms
Call generated code as MEX functions from your MATLAB code to speed execution. Profile generated MEX functions to identify bottlenecks and focus optimization efforts.
Product Resources:
Get a Free Trial
30 days of exploration at your fingertips.
Request More Information
Let us know how we can help you.