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:
MATLAB Coder FAQs
MATLAB Coder generates readable and portable C and C++ code from MATLAB code for deployment on various hardware platforms, from desktop systems to embedded hardware.
MATLAB Coder supports most of the MATLAB language and a wide range of toolboxes, including those for signal processing, computer vision, deep learning, and control systems.
You can integrate the generated code as source code, static libraries, dynamic libraries, or MEX functions into your existing C/C++ projects or MATLAB.
No, the generated code is royalty-free and can be deployed in commercial applications to your customers at no charge.
Yes, MATLAB Coder generates C++ classes from MATLAB value classes, handle classes, and System objects, which can be compiled into libraries or executables.
You can optimize generated code with multicore OpenMP parallelization, SIMD instructions, vectorized code, and calls to optimized libraries such as LAPACK, BLAS, and FFTW.
Yes, you can deploy trained networks like ResNet-50 and MobileNet-v2, as well as SVM and decision tree models, to any CPU including Intel and ARM Cortex-A/M processors as standalone C/C++ source code.
MATLAB Coder provides the ability to generate C/C++ code for various platforms. Embedded Coder is an add-on that extends the capabilities by providing hardware-specific optimizations, code verification using SIL/PIL testing, code traceability, and generating code that complies with MISRA.
Yes, you can reuse existing MATLAB tests and the MATLAB unit test framework to verify the behavior of your generated C/C++ code in the interactive MATLAB environment. Add MATLAB Test to create and run back-to-back equivalence tests in an automated process.
Try MATLAB Coder for Free
Discover the possibilities today.
Ready to Buy?
Get pricing information and explore related products.
Are You a Student?
Your school may already provide access to MATLAB, Simulink, and add-on products through a campus-wide license.