先放結論:MATLAB對於數模比賽各種嘗試很方便。長遠考慮Python用處大。核心功能兩者差不多,都是指令碼語言,都有成熟的平臺和工具。
對於數學建模來講MATLAB用起來更容易,操作比較簡單,工具箱用起來比較"傻瓜"式,有些高階演算法也可能可以在比賽中現學現用,比如遺傳演算法工具箱,按要求在GUI介面填空就行。
Python是通用程式設計工具,應用面廣,資料處理方面的第三方的庫如numpy(矩陣基礎) scipy(矩陣運算) sklearn(人工智慧演算法) matplotlib(科學制圖)也很強大,學好它們對於數學建模足夠了。
關於數模程式設計能力成長曲線。兩個上手都不難,中期(大概就是進步到能拿國獎的水平那個階段)matlab資料操作和演算法積累進步會更快那麼一點點,到後期(程式設計實現不再是難點時)熟練了又會沒什麼區別。
因為python的適用面廣,如果在技術層面有長遠打算,建議學Python。
從語言本身的發展看,MATLAB是mathwork公司自己開發維護的,提升已到瓶頸,未來用的人可能會越來越少;python是開源的,全世界一起開發維護,這幾年可以頒發個進步最快獎,未來可能更萬能,不會可能要再補課。
補充幾個MATLAB功能方便的點:
1.對圖的互動式編輯功能。畫出來的圖可以直接在圖編輯模式下手動調整大小,增加標註等等,即使不懂相應程式碼也能處理。缺點:不是用程式碼畫出來的東西,一旦資料要調整重新畫很麻煩,畫多個相似樣式的圖也不容易。這會讓人養成不好的習慣。
2.方便的幫助功能。哪個函式不會用,選上直接F1就可以幫助查詢用法。幫助系統也全面且人性化,只要英語過關非常好用,現用現查。
3.直接在變數區定義和修改變數。又是一個免去程式碼的操作。Python的兩個平臺——pycharm學生版或者Spyder也有相同功能。但是不建議用,也是不好的習慣。
4.檔案資料自動匯入功能。這個可以多摸索一下,工具挺強大的。尤其數學建模比賽時很省事。
5.選中變數畫圖。在沒想好以畫哪種形式的圖時可以隨便試試,挺方便的。
先放結論:MATLAB對於數模比賽各種嘗試很方便。長遠考慮Python用處大。核心功能兩者差不多,都是指令碼語言,都有成熟的平臺和工具。
對於數學建模來講MATLAB用起來更容易,操作比較簡單,工具箱用起來比較"傻瓜"式,有些高階演算法也可能可以在比賽中現學現用,比如遺傳演算法工具箱,按要求在GUI介面填空就行。
Python是通用程式設計工具,應用面廣,資料處理方面的第三方的庫如numpy(矩陣基礎) scipy(矩陣運算) sklearn(人工智慧演算法) matplotlib(科學制圖)也很強大,學好它們對於數學建模足夠了。
關於數模程式設計能力成長曲線。兩個上手都不難,中期(大概就是進步到能拿國獎的水平那個階段)matlab資料操作和演算法積累進步會更快那麼一點點,到後期(程式設計實現不再是難點時)熟練了又會沒什麼區別。
因為python的適用面廣,如果在技術層面有長遠打算,建議學Python。
從語言本身的發展看,MATLAB是mathwork公司自己開發維護的,提升已到瓶頸,未來用的人可能會越來越少;python是開源的,全世界一起開發維護,這幾年可以頒發個進步最快獎,未來可能更萬能,不會可能要再補課。
補充幾個MATLAB功能方便的點:
1.對圖的互動式編輯功能。畫出來的圖可以直接在圖編輯模式下手動調整大小,增加標註等等,即使不懂相應程式碼也能處理。缺點:不是用程式碼畫出來的東西,一旦資料要調整重新畫很麻煩,畫多個相似樣式的圖也不容易。這會讓人養成不好的習慣。
2.方便的幫助功能。哪個函式不會用,選上直接F1就可以幫助查詢用法。幫助系統也全面且人性化,只要英語過關非常好用,現用現查。
3.直接在變數區定義和修改變數。又是一個免去程式碼的操作。Python的兩個平臺——pycharm學生版或者Spyder也有相同功能。但是不建議用,也是不好的習慣。
4.檔案資料自動匯入功能。這個可以多摸索一下,工具挺強大的。尤其數學建模比賽時很省事。
5.選中變數畫圖。在沒想好以畫哪種形式的圖時可以隨便試試,挺方便的。