用python去搞数学建模可行性大不大?
用python去搞数学建模可行性大不大?
作者:张晋
链接:https://www.zhihu.com/question/60522555/answer/338730685
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
首先考虑学习成本,在已经有了C语言的基础上再速成python是非常容易的,然鹅,相信我,Matlab会更容易上手的,写代码就跟打草稿一样简单。此外,Matlab自带精美的帮助文档,说明详细,还附带经典例子,如果你需要实现某样功能,可以直接按F1进入帮助文档搜索,而如果换成python,你就要去上网搜索,然后下载对应的库,万一出啥问题安装不上还是挺闹心的(即使我安装了anaconda也因此为安装库的问题烦恼)
python是很强大的,科学计算有numpy,scipy,sklearn等等,这方面MATLAB的大部分功能python都能做到,但是毋庸置疑MATLAB更轻松方便,而且在帮助文档加持下更容易上手。
https://pic1.zhimg.com/80/v2-d75fade8d3bc998c2236259a883629a1_720w.jpg
这是我们美赛建立的一个最优化模型,模型本身是挺复杂的,但抽丝剥茧将其向量化后,通过MATLAB最优化工具箱的自定义优化问题求解器,最后的代码也不复杂,反而简洁直观
https://pic2.zhimg.com/80/v2-c8bc1c94a7fe910307ab03684457ecd0_720w.jpg
https://pic1.zhimg.com/80/v2-c89be298e7979a51371a0208f112f040_720w.jpg
python也许有某个神奇的库能实现这样的功能吧,不过搜索+学习使用注定是个漫长的过程,如果非要用python的话,倒也勉强吧。
至于速度的问题,我个人认为建模的精髓在于数学模型的建立,编程只是一个验证合理性的方法,速度的快慢真的不重要。
最后,我的建议是队伍里一个人负责数学建模并使用MATLAB来完成这个模型的求解,至于美术建模和爬取数据什么的可以交给另外一个使用python的队友。我们论文的地图是队友用python画的,我试着用MATLAB和mathematica去画地图,画倒是能画,但过程实在令人捉急,最后还是还是放弃了。
所以说队伍里最好两门语言都会,但如果只能学一门的话我推荐MATLAB(另外我真的很好奇如果用C语言会写成啥样)
页:
[1]