发布网友 发布时间:2024-10-24 09:20
共1个回答
热心网友 时间:2024-10-25 22:20
在本科阶段,我本人参与过数学建模,我们团队最终也获得了全国一等奖的荣誉。在数学建模比赛中,程序员起到的是至关重要的作用,因为大部分工作都是由程序员去完成的。
程序员具体应做好以下工作:
1、你要去建模(要会微分方程, 机器学习算法, 图论);
2、写程序搞定你的模型(做A题的话你要会数值分析, 有些地方也叫计算方法. 至于决策树, 图论, PCA降维, 聚类分析什么的, 那就是程序员的老本行了);
3、debug你的程序得到看上去正确的结果;
4、在论文里面详细的描述你的算法和实现过程。
数学建模竞赛的最佳配置是每一个人都具备这4个能力。此外,文献检索和文献阅读能力也很重要。阅读文献是多么的重要,更不要说有些人完全靠吹牛来做数学建模,这是我个人的深刻体会。如果数学建模的三个人只有一个人具备这4个能力,那么恭喜你中奖了,工作几乎全部都是你来完成了。
关于编程你需要具备什么能力?我认为有三点:
1、数据处理
对于需要数据支持的一些问题,我们必须收集数据,完成数据预处理,规范化数据格式,便于建模和求解。
2、代码编写
这部分是广泛的,但总之,你应该提前使用你的理论模型。一些问题可能会产生一些现成的代码,这些代码可以修改,但是问题并不多,而且大多数问题都需要重写。语言和工具是不受限制的,只要它能被实现。常用的MATLAB、Python、SAS、Lingo等,你可以看到我之前的回答:哪个软件更适合数学建模?MATLAB是有限的?-一个老司机回答的数学模型-
3、可视化
这是非常重要的。一个好的数学建模论文必须要有良好的视觉化,这就是要有高质量的图片。这可以在学术论文中引用。
总结
个人认为,程序员在数学建模中起到最重要的作用,如果一个团队里面只有一个程序员,那么这个人的工作量无疑是最大的。