The MathWorks’ Embedded MATLAB(TM) is a subset of the MATLAB® technical computing language. The Embedded MATLAB subset enables MATLAB users to generate highly efficient, embeddable C code directly from MATLAB programs, avoiding the common, time-consuming and error-prone process of rewriting MATLAB algorithms in C.
The Embedded MATLAB subset covers a broad range of MATLAB functionality with more than 270 MATLAB operators and functions and more than 90 Fixed-Point Toolbox functions. Embedded MATLAB supports many high-level MATLAB language features, such as multidimensional arrays, real and complex numbers, structures, flow control, and subscripting.
The conversion to C code is performed by Real-Time Workshop® 7, a MathWorks product widely used for embedded code generation. Real-Time Workshop automatically produces embedded C that is comparable to hand coding in size, performance, and memory use. A user can invoke Real-Time Workshop to work directly from a MATLAB M-file, or the file can be included by name in a Simulink® block diagram. If Simulink is used, synthesizable Verilog and VHDL can also be generated, using Simulink HDL coder. In either case, the generated code is numerically equivalent to the Embedded MATLAB source code.
Support for Embedded MATLAB technology is included in the latest release of these MathWorks products: MATLAB, Simulink, Fixed-Point Toolbox, Stateflow, SimEvents, and Simulink HDL Coder. Simulink and Real-Time Workshop are required products.