MATLAB编码器
从MATLAB代码生成C和C ++代码
Matlab Coder™从Matlab生成C和C ++代码®用于各种硬件平台的代码,从桌面系统到嵌入式硬件。它支持万博1manbetx大多数MATLAB语言和广泛的工具箱。您可以将生成的代码作为源代码、静态库或动态库集成到项目中。生成的代码可读且可移植。您可以将它与现有C和c++代码和库的关键部分结合使用。您还可以将生成的代码打包为一个mex函数,以便在MATLAB中使用。
与嵌入式编码器一起使用时®, MATLAB Coder提供代码定制、特定目标优化、代码可跟踪性以及软件在环(SIL)和处理器在环(PIL)验证。
要将MATLAB程序部署为独立应用程序,请使用MATLAB Compiler™。要生成与其他编程语言集成的软件组件,请使用Matlab Compiler SDK™。
开始:
部署算法免版税
使用任何C / C ++编译器在任何硬件上编译并运行生成的代码,从桌面系统到移动设备到嵌入式硬件。生成的代码无需在商业应用程序中为您的客户提供免版税部署。
MATLAB编码器的成功故事
学习如何在各种行业的工程师和科学家使用MATLAB编码器为他们的应用程序生成C/ c++代码。
万博1manbetx支持的工具箱和功能
MATLAB编码器从广泛的MATLAB语言功能生成代码,该功能设计工程师用于开发算法作为较大系统的组件。这包括来自Matlab和Companion Toolboxes的超过2500个运算符和函数。
使用命名空间生成C ++代码
MATLAB编码器可以在命名空间中生成C ++代码,使得简单地与可能具有相同功能或数据类型名称的其他源代码集成。代码生成器将所有生成的函数包装到命名空间中。
从MATLAB类生成c++类
MATLAB编码器从MATLAB代码中的类生成C ++类,包括值类,处理类和系统对象。生成的代码可以编译为C ++库或可执行文件,可以集成到您现有的C ++源代码中。
在生成的函数接口中使用动态分配的c++数组
为MATLAB函数生成C ++代码,该函数接受或返回一个数组,其中包含数组大小未知在编译时,或者绑定超过预定义阈值。在生成的代码中,将数组的内存动态分配和实现为名为的类模板编码器:: Array.
.除了例外 - 安全的内存释放,编码器:: Array.
提供API以访问和管理动态数组。
部署端到端深度学习算法
部署各种培训的深度学习网络,如Reset-50和MobileNet-V2,以及从深度学习工具箱™到英特尔的LSTM和其他层®和手臂®皮质®CPU。生成用于预处理和后期后处理的代码以及您培训的深度学习网络以部署完整的算法。
生成深度学习推论的优化代码
由于Matlab编码器仅生成运行特定算法所需的代码,因为代码更快,并且使用比其他深度学习解决方案更少的内存。万博 尤文图斯生成的代码调用优化库,包括用于英特尔处理器的英特尔MKL-DNN,以及用于ARM Cortex处理器的ARM计算库。使用GPU编码器™通过生成CUDA来加速或部署算法®在任何现代nvidia上运行的代码®GPU。
部署端到端机器学习模型
通过为整个机器学习算法生成C / C ++代码部署统计和机器学习模型,包括预处理和后处理。更新已部署模型的参数,无需重新生成C / C ++预测代码。
桌面和云平台上的原型
使用MATLAB编码器应用程序或等效命令行功能快速生成信号处理,计算机视觉,深度学习,控制系统或其他应用程序的代码,然后编译硬件代码。
基于嵌入式和移动平台的原型
通过手动将生成的代码与应用程序手动集成任何设备来定位任何设备。使用MATLAB支持包进行覆盆子PI自动化Raspberry PI的过程。万博1manbetx
从原型化到生产
使用带有嵌入式编码器的MATLAB编码器来生成利用可以更快地执行的处理器特定内部的代码,这些内部可以比标准ANSI / ISO C / C ++代码更快。
使用简单的接口生成代码,该码易于集成
生成的代码以自然方式使用C / C ++类型,简化与外部代码的集成。您可以将生成的代码集成为源代码或库。可信C / C ++库或组件可以进入MATLAB以获得更高保真测试,并自动从生成的代码调用。
优化生成代码的性能
应用优化来调整执行速度、内存使用、可读性和可移植性之间的折衷。使用分析工具来识别瓶颈。为了进一步提高性能,生成多核OpenMP代码,并在可用时调用优化的库,如LAPACK、BLAS和FFTW。
在集成之前对生成代码重用MATLAB测试
重用现有的MATLAB测试以验证在交互式MATLAB环境中生成的代码的行为。使用MATLAB单元测试框架可以快速开发一组丰富的回归测试,可以用来验证生成的C/ c++代码。
加速CPU的算法
您可以将生成的代码作为MEX函数从MATLAB代码调用以速度执行,尽管性能会根据MATLAB代码的性质而有所不同。您可以配置生成的MEX功能以识别瓶颈并重点您的优化工作。