MATLAB编码器
从MATLAB代码生成C和c++代码
MATLAB编码器™生成从MATLAB C和C ++代码®适用于各种硬件平台,从桌面系统到嵌入式硬件的代码。它支持金宝app大多数的MATLAB语言和广泛的工具箱中。您可以将生成的代码集成到你的项目源代码,静态库或动态库。生成的代码是可读的和便携式的。您可以使用您现有的C和C ++代码和库关键部分结合起来。您也可以打包生成的代码为MEX-功能的MATLAB中的使用。
当与嵌入式编码使用®,MATLAB编码器提供的自定义代码,目标特异性优化,代码可追溯性和软件合环(SIL)和处理器在环(PIL)验证。
要将MATLAB程序部署为独立应用程序,请使用MATLAB编译器™。要生成与其他编程语言集成的软件组件,请使用MATLAB Compiler SDK™。
开始:
部署算法免版税
任何使用C / C ++编译器来编译和任何硬件上运行生成的代码,从桌面系统到移动设备的嵌入式硬件。生成的代码是不收费的商业应用给你的客户就免版税的部署。
MATLAB编码器成功案例
了解工程师和科学家在多种产业如何运用MATLAB编码器生成C / C ++代码为他们的应用。
金宝app支持工具箱和功能
MATLAB编码器从广泛的MATLAB语言特性中生成代码,设计工程师使用这些语言特性来开发作为大型系统组件的算法。这包括超过2500个运算符和函数,从MATLAB和配套的工具箱。
生成的C ++代码与命名空间
MATLAB编码器可以在命名空间中生成C ++代码,因此很容易与可能具有相同的功能或数据类型的名称其他源代码整合。代码生成包中的所有生成的函数和类型定义到命名空间。
生成MATLAB类C ++类
MATLAB编码器从在MATLAB代码类,包括值类,手柄类,和系统对象产生C ++类。生成的代码可被编译成C ++库或可执行文件和可以被集成到现有的C ++源代码。
使用动态分配的C ++数组中生成函数接口
生成C ++用于接受或在编译时返回以与阵列大小未知的阵列,或者其结合的超过预定阈值的MATLAB函数的代码。在生成的代码,对存储器阵列是动态分配并作为命名为类模板实现编码器:数组
。除了异常安全的内存释放之外,编码器:数组
提供访问和管理动态数组的api。
部署端到端深度学习算法
部署各种经过培训的深度学习网络,如ResNet-50和MobileNet-v2,以及LSTM和从深度学习工具箱™到Intel的其他层®和手臂®皮质®的CPU。产生预处理和你训练的深度学习网络以及后处理部署完整的算法代码。
生成优化的代码推理
由于MATLAB编码器只生成运行特定算法推理所需的代码,因此与其他深度学习解决方案相比,该代码速度更快,占用的内存更少。金宝搏官方网站生成的代码调用优化的库,包括针对Intel处理器的Intel MKL-DNN和针对ARM Cortex处理器的ARM计算库。使用GPU编码器™来加速或部署算法生成CUDA®运行在任何现代NVIDIA上的代码®GPU。
样机在桌面和云平台
使用MATLAB编码器应用程序或等效的命令行函数,为您的信号处理、计算机视觉、深度学习、控制系统或其他应用程序快速生成代码,然后为您的硬件编译代码。
原型嵌入式和移动平台
通过手动与应用程序集成的生成代码针对任何设备。使用自动化MATLAB支持包树莓派为树莓派的过程。金宝app
从原型转向生产
使用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函数进行概要分析,以确定瓶颈并集中优化工作。
看到发行说明对任何这些特征和对应的功能的详细说明。
生成C代码从MATLAB的喜悦
学习技巧和最佳实践与MATLAB编码器工作和阅读有关公司生成的代码的成功应用,如德尔福,贝克休斯,iSonea和dorsaVi。