MATLAB在逐漸被Python淘汰嗎?
作者:pb博;來源:知乎。著作權(quán)歸作者所有。非商業(yè)轉(zhuǎn)載請注明出處。
講一下自己最近用python做仿真的血淚史。
曾幾何時,為了擁抱python,我也將自己日??蒲兄刑岢龅乃惴ǘ寄胣umpy,scipy以及其他第三方packages來仿真和驗證。
然而最近有兩次,我的兩個算法原型在python里驗證怎么都得不到和理論上完全一致的結(jié)果。第一個根本沒法得到reasonable的結(jié)果,第二個可以得到部分一致的結(jié)果,但是python求解用到的時間特別長。
檢查了N遍代碼以及我的方法,都無法做到consistent,百思不得其姐到懷疑人生。最后抱著試試看的想法,把python代碼對照著在matlab里逐句轉(zhuǎn)換了一遍。
神奇的事情發(fā)生了,第一個實(shí)驗matlab里當(dāng)場給出和理論上consistent的結(jié)果,第二個實(shí)驗不僅得到consistent的結(jié)果,而且速度提高了N倍。。。
代碼一樣,但結(jié)果卻是天差地別。究其原因我認(rèn)為可能是正如@清雨影大佬所說,matlab在求逆、產(chǎn)生隨機(jī)數(shù)、矩陣分解等函數(shù)上進(jìn)行了比numpy、scipy相對應(yīng)的函數(shù),要多得多和細(xì)致得多的優(yōu)化。
因為這些函數(shù)對用戶來說都是黑盒,所以要人工檢差是否是這些黑盒引起的偏差實(shí)在是太麻煩了。所以如果想要快速、省心的初步驗證一些自己的想法是否work,強(qiáng)烈推薦直接上MATLAB……
當(dāng)然上面說的僅限于科學(xué)計算相關(guān)。
總結(jié)起來,大概是盡管matlab在“人無我有”方面正在走下坡路,但是在“人有我好”方面目前還有很大優(yōu)勢。
