MATLAB Coder 从 MATLAB 代码生成适用于各种硬件平台(从桌面系统到嵌入式硬件)的 C/C++ 代码。该产品支持多数 MATLAB 代码和各种工具箱。您可以将可读且可移植的生成代码作为源代码、静态库或动态库集成到现有的 C/C++ 项目中。MATLAB Coder 允许您将生成的代码打包为 MEX 函数以便在 MATLAB 中使用。您可以通过集成多核与矢量化代码,并调用经过优化的库,来优化生成的代码。
MATLAB Coder 提供代码定制、硬件特定的优化、代码可追溯性、使用软件在环 (SIL) 和处理器在环 (PIL) 测试的代码验证,以及符合 MISRA™ 规范的代码合规性(结合 Embedded Coder)。
要在 MATLAB 支持的主机平台上部署 MATLAB 程序,请使用 MATLAB Compiler。
随时随地运行无阻
您可以使用任何 C/C++ 编译器编译代码,并可以在包括桌面系统、移动设备到嵌入式硬件在内的任何硬件上运行生成的代码。生成的代码免版权费,您可将其免费部署到面向客户的商用应用。
使用工具箱中的函数
使用 MATLAB Coder 或等效命令行函数为信号处理、计算机视觉、深度学习、控制系统和其他使用 MATLAB 产品的应用生成代码。
在嵌入式硬件上构建原型
将算法自动转换为 C/C++ 语言以快速在硬件上实现。将生成的代码手动集成到您的应用,以在各种目标设备上实现。使用 MATLAB Support Package for Raspberry Pi 自动化 Raspberry Pi 集成过程。
从 MATLAB 部署 C++ 代码
从 MATLAB 代码中的类生成 C++ 类,包括值类、句柄类和 System object。将生成的代码编译为 C++ 库或可执行文件,并将其集成到现有的 C++ 应用程序中。
优化生成的代码
生成 SIMD 指令,使用多核 OpenMP 代码并行化循环,并调用优化库,例如 LAPACK、BLAS 和 FFTW。与 Embedded Coder 结合使用,生成特定于处理器的内部代码以实现更快的执行。
部署深度学习网络和机器学习模型
将各种经过训练的网络(例如 ResNet-50 和 MobileNet-v2)、支持向量机 (SVM) 模型和决策树模型,以及预处理和后处理逻辑,部署到任何 CPU 上,包括 Intel® 和 ARM® Cortex® 处理器。
与软件集成
在您的软件环境内将 MATLAB 算法重用为 C/C++ 源代码或库。生成的代码能够自然地使用 C/C++ 类型,并且可以调用您现有的可信 C/C++ 函数,从而简化了与外部代码的集成。
对生成的代码重用 MATLAB 测试
重用现有 MATLAB 测试以在交互式 MATLAB 环境中验证所生成代码的行为。使用 MATLAB 单元测试框架快速开发一组丰富的回归测试,以用于验证生成的 C/C++ 代码。
加速算法
在 MATLAB 代码中以 MEX 函数形式调用生成的代码以加速执行。探查生成的 MEX 函数以识别瓶颈并集中优化工作。