MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   MATLAB编程最佳实践 (https://www.labfans.com/bbs/showthread.php?t=26367)

poster 2019-12-14 20:13

MATLAB编程最佳实践
 
我正在寻找有关如何构建中型到大型MATLAB项目的资源,尤其是那些涉及几个独立模块的项目。如何管理全局配置变量,如何将项目结构化为文件夹,如何管理模块之间的耦合等。

关于此主题是否有某种标准文本?看起来大多数MATLAB教科书都是由科学家或工程师编写的。我想寻找的是软件工程师编写的任何MATLAB教科书。 :-)



[B]回答:[/B]

对于大型项目,MATLAB是一种不寻常的选择,它非常适合诸如汇编程序,COBOL或SQL之类的任务。如果您仍然选择MATLAB,那么至少会自动测试代码!各种测试-集成测试,单元测试,负载测试!当然要使用版本控制系统。

如前所述,并不是在创建MATLAB时就考虑到大型项目,因此,关于项目结构,模块和耦合的唯一最佳实践是常识。

如果您要接管现有的大型MATLAB项目,那么对不起,重构将是一场噩梦。如果您要使用MATLAB启动一个新的大型项目,那么您会很疯狂-有很多更好的MATLAB替代品,它们在数值性能方面还不错。大型项目意味着几乎所有代码都是业务逻辑,而不是数字,因此,为上帝着想,为什么要使用MATLAB?

大型项目意味着结构良好的组件,这意味着OO,这是[URL="https://stackoverflow.com/questions/1446281/matlabs-garbage-collector"]MATLAB的弱点,因为它牺牲了堆性能,以至于数字性能无法使用[/URL] 。

我的经验:
[LIST=1][*]我在一个耗资50万美元的LOC MATLAB项目中花费了数年。[*]我已经看到了多个大型MATLAB项目向C#的轻松过渡。[/LIST]使用MATLAB,您仍然必须使用大量Java来提供美观的GUI,使用C / C ++ MEX来实现快速的非数字化部分,例如导入,可能是SQL等。使用带有免费数字库的Java(或更好的C#),您只有一种语言非常适合大型项目中所需的一切。

我并不是说MATLAB不好-它统治着快速的原型制作和数值运算! Simulink没有其他选择(但是可以在任何地方进行编译和使用)。



[url=https://stackoverflow.com/questions/5042761]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 05:06

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.