我们有一些在MATLAB中做很多工作的研究人员。我们经常会喜欢尝试将他们的代码作为更大的工作流的一部分,这些工作流要求将算法放入C/C++或Python中。我见过MathWorks公布了一个创建本机C或C++代码的工具。代码有多好?它支持工具箱吗?我仍然认为它是一个早期的原型工具,但是想知道代码有多好。思考?任何人都使用MATLAB工具来生成C/C++代码?生成的代码是否可行?
回答
我曾在这方面与mathworks广泛合作过去。工具箱很贵,但支持非常出色。我们对基于特定DSP生成的代码进行了基准测试,测试结果在手动代码速度的10%以内,并且花费了一小部分时间来生成代码。过去几年来,Mathworks一直在大量投资这些工具链,并且它们变得非常好。支持一些工具箱,请在线查看文档。
感谢您的回复。我将让MATLAB程序员检查在线文档以查看是否支持图像处理和统计工具箱。我们可以很快移植到Python,但不能获得最佳性能。对于我们的一些计算机视觉工作来说是足够的,但有些需要C++的金属力量。我们目前正在手动移植代码,这是一个昂贵的过程! –
另一种可能性是使用高级C++矩阵库/工具包,如[Armadillo](http://arma.sourceforge.net/),它具有许多类似Matlab的[函数](http://arma.sourceforge。净/ docs.html)。 – mtall
嵌入式编码器生成的代码在我看来非常好,它是一种在工业中广泛使用的产品,特别是在汽车应用中。它通常设计用于从Simulink为实时应用程序生成代码。看看网站上的用户故事:http://www.mathworks.co.uk/products/embedded-coder/?s_cid=global_nav。
对工具箱的支持取决于您的要求。如果你需要一些只使用标准库的东西,那么支持是有限的,但如果这对你无关紧要,那么你可能会获得更多的成功。
虽然有一个警告:它很贵。
感谢您的评论。我们目前有MATLAB软件包,图像处理器工具箱和统计工具箱。我们使用不同的计算机视觉技术进行快速原型设计和实验,然后将代码移植到C++中。手工编码在工时上是非常昂贵的过程。我在看三件事:输出C++代码的质量(是否具有类似于MATLAB本地代码的性能);它是否支持两个工具箱,以及与工时相比真正的TCO(总成本)是多少我们正在花费手动移植到C++或Python。 –
- 1. 是否有任何类图生成工具的Python源代码?
- 2. Sharepoint代码生成工具
- 3. 是否有任何Java库使用注释来生成代码?
- 4. 是否有完美的代码生成工具来生成MVC店面?
- 5. C++生成的代码(来自MATLAB)
- 6. 是否有支持Visual Studio 2015的任何工具来生成代码映射?
- 7. MATLAB C++代码生成
- 8. Matlab simulink c代码生成
- 9. Matlab高效代码生成
- 10. GPU代码生成与MATLAB
- 11. 从python生成MATLAB代码
- 12. 如何使用jooq代码生成器与maven生成代码
- 13. 如何使用宁静代码生成器生成代码(.ts)
- 14. Matlab能否生成Java源代码?
- 15. 如何测试代码生成工具?
- 16. 是否有任何来自字节代码的Java代码生成器
- 17. 任何工具都可以根据语言语法随机生成源代码?
- 18. xtext代码生成,如何避免代码生成一行?
- 19. 是否有任何视觉工作室模板工具可以基于其他源代码生成源代码?
- 20. C#中的UML代码生成工具
- 21. 生成Java代码的工具过多?
- 22. crm 4.0的代码生成工具
- 23. 任何用于从AST生成JavaScript代码的工具
- 24. 生成不生成代码
- 25. 从使用Python实现的matlab代码生成C代码Scipy
- 26. 阅读代码行生成的代码
- 27. 代码生成
- 28. 是否有可能在运行时生成并运行TemplateHaskell生成的代码?
- 29. C++代码/ XML生成工具
- 30. 代码生成工具测试
与其他任何自动代码生成器一样 - 它不是很好,但我想它可以是一个很好的起点 –
嗯,我曾在一家制造无人驾驶车辆的公司工作,而且我记得他们用它来生成飞行控制。但是,我不记得具体是否该代码在该时间点在车辆上使用,或仅在模拟器中使用。我的直觉是,对于足够复杂的算法,特别是那些正在积极开发的算法,人类犯错误的可能性要比代码生成器更可能。至于是否适合生产使用的问题,我想说的是,要问这个问题的恰当地方在于制造该工具的公司。 – shelleybutterfly
有两种不同的工具,第一种可用于上一版本(R2011a),并从** MATLAB **代码生成C/C++。下面的答案确实提到了来自** Simulink **的代码生成。 – Mikhail