举个例子,不算数学建模领域的,去年就在我师兄一篇论文的修改意见是对其中的声音分析做一定修正(为什么找到我了呢,因为我们课题组是物理课题组,大部分人对于编程不太敏感,我又正好拿了几个数学建模的奖),当时在Google只搜到了相关的matlab程序,完全搜不到python程序(我当时主要就是用python,所以肯定优先用python的程序,可惜搜不到(=′口`=))于是只好拿MATLAB源程序过来修改了一下跑了一遍数据完成了工作。从此以后我电脑里的matlab从来都是最新版本。4 |- E L, [4 X5 C' O- o' D: E
2.学习MATLAB和python的先后顺序8 }! k" E( W, I8 O$ ^% I
以一个过来人的角度来说,我建议你先学MATLAB,这是因为它的中文教程相对于python要多很多,这对于新手是有利的。等到熟练操作MATLAB以后,只需要简单看一看python的基本操作,就能够上手像numpy这一类的科学计算的库,因为它们的操作方法是模仿MATLAB的。# F) L4 w2 H! w: G$ L 3.python的推荐配置 : V5 s( V# O# X" p我最早学习的全是基于python的非线性物理计算,这是学校开设的本科课程。当时推荐的python发行版是Anaconda,它的好处就是预装了大量的你能用的上的库而且自带大量的编译器的支持,无需手动配置,一键启动。* r0 O" K: D% y3 L1 Q: g8 A# }! x" B/ F 如上图就是anaconda的启动界面,其中默认提供8种编辑器,其中不乏有VS code这种大牌编辑器,你可以一个一个尝试直到找到自己喜欢的。! U( L) j7 n. }! h7 F$ n 上图就是大名鼎鼎的VS code,来自微软,提供大量的扩展支持,只有你想不到没有他办不到,配合第三方扩展,你甚至可以用代码编辑器来听音乐和看漫画,详情见 8 f' a, [6 t1 D' V! v; ^$ i R
@GitHub Daily' b$ d v, W6 K
z* c$ U% m8 v( G, C( a
的文章 P) G8 h0 ]; t& `& w, a
GitHub Daily:装上这几个 VSCode 插件后,上班划水摸鱼不是梦zhuanlan.zhihu.com如果你不喜欢这种类型的编辑器,还有提供matlab类交互支持的编辑器——spyder,题主可自行体验。 0 A6 R+ p8 `) ~' C& m, Q4.最后一点建议3 j! f0 y( g% F9 m' I
编程语言说到底只是零件,好的零件的确可以造出好的产品,但是设计师的设计更为重要,与其纠结语言,不如多看看算法,毕竟,算法是支撑一个建模的核心,你程序写的再好看评委也是看不到的。3 n9 Z7 Q# w& ]1 O( M; O
, l1 r' {9 o( N! _发布于 2019-03-28- \4 O/ U. |0 g, z/ {4 ^- J0 H$ `0 X
0 y6 \5 v) i: M) g( H
; `+ U. `/ l' T% z
$ ^9 {4 a) {; F* k , Y, w: Q! ^8 T; V- M" s& T! t. U+ {: F2 O! R
@realOlderDriver/ p) `: j% W/ L8 f! _& r) u8 N0 ~
+ \. ~! e, O' K* Y; b' |1 s
1 q1 }& A% e4 W8 i# W7 ] ' {3 W) @! n, Y; r4 o4 l. r b1 o2 u l- _/ U5 S5 l: Z w0 l
64 人赞同了该回答 4 j1 p( J$ B: a" |$ P: r7 W, S
数学建模比赛并不会有所谓“官方指定”的软件! 3 @% ?$ Y1 z o$ b所谓“官方指定”,可能是国赛中设有“Matlab创新奖”,让很多人误认为数学建模比赛必须使用Matlab。这其实是误解,迈斯沃克公司(Matlab母公司)是国赛赞助商,为了推广其软件,所以才在比赛中设立奖项,奖励一篇使用Matlab的优秀论文。但是,如果你通篇没有使用Matlab,除了不能参评这个奖项外,对你论文获奖没有任何影响。(Matlab创新奖每年数万个队伍中仅有一项,获奖概率可以忽略,故影响不大。) 2 F. n @# v6 M |6 s9 I不过,我仍然推荐你使用Matlab,因为该软件对解决应用数学及其相关的工程问题有得天独厚的优势,并且长期以来在数模竞赛圈中得到很好的传承,相关教学资源和代码模板比较多,方便套用。 a% W- K: Q( i2 N" D& k
相比于Matlab,Python是近几年发展较快的一个编程语言,在编程语言排行榜上远超Matlab。但是,Python不太适合在数学建模中使用,尤其是不要过多的使用机器学习算法,除非那个算法是你自己设计的(如果你有这个能力,也没必要参加数模竞赛了)。数学建模最忌讳的就是过多的使用不能说明内在机理的人工智能算法,这样会给评委一种“套模型”的嫌疑。 7 |2 `9 v }6 L* X3 s# `% K' S* |; ^! y. N; `; B" S