數學建模編程方向的只會MATLAB可以嗎?


如果你只有學會一種軟體的打算,建議學習MATLAB。當然,MATLAB博大精深,想要完全玩轉也是很困難的。如果你的目標只是參加數學建模競賽的話,建議根據往年賽題中出現的模型,先模仿著優秀論文中的代碼都運行一遍,基本就差不多了。

如果學有餘力,建議再學一下LINGO軟體。熟悉MATLAB的人都知道MATLAB在求解優化類問題時比較麻煩,而LINGO則是求解優化問題的利器,並且比較容易上手,而數學建模中最常見的一類問題恰恰是運籌優化類問題。

SPSS沒必要學,有的人覺得SPSS容易,但SPSS能解決的問題非常有限,加上近幾年國賽題目以機理分析模型為主,數據類模型出的很少,因此重點還是放在機理分析與優化模型這塊。


不請自來。

matlab確實就足夠了。

1.matlab與lingo

同為常用的建模軟體,但是lingo只針對優化問題,只要lingo可以解決的問題,matlab都可以解決

而且,lingo最大的劣勢就是只能顯示結果,而matlab可以顯示圖像,這對論文寫作是非常大的區別

2.matlab與spss

spss應該不算是傳統意義編程軟體,操作趨向傻瓜化,對於統計題有一定作用。但是,隨著近幾年的趨勢,像葡萄酒評價這種題,估計會逐漸淡出人們視野,所以,綜上,其實,學精matlab,才是最有效果的提升方法。


Matlab編程足夠了,隊伍里最好有一個人畫圖,也就是調整Matlab畫出來的圖。可以用Ps、visio等。Matlab學精後很多工具箱夠適應幾乎所有的問題編程。

一般Matlab+spss是常規的做統計類、評價類的必備軟體。


看你的用途。如果你說的只是數學建模比賽,那focus應該在建模上。計算部分只是為了support你的模型。那麼Matlab絕對夠。也是最主流的。

但是你要是做的是實際的大問題,3D的大型問題。Matlab還是慢了點。因為現在科學計算,小問題看不出速度的重要性。別人花1秒你花3秒,你也許沒什麼感覺。但是如果是一個蒙特卡洛sampling,要求1000個樣本。所以你要算一千次,這個差距就明顯了。

我在多個回答里都提過了並行的問題。這裡的差距更大些。

不過總之如果是什麼本科的數學建模競賽。Matlab足夠。如果是做大型計算。還是換吧


可以參照我以前的團隊做一個參考,整個團隊當時會的技術是matlab演算法建模和快速驗證以及基礎模擬,python主要做演示界面,一些演算法也用python做了,當然可以用matlab做,主要隊里有個人對python相當熟。c/c++進行演算法加速,統計方面是r和spss等等。運籌方面是lingo,但是那時最優化是學長他們傳承下來的封裝好的c++庫。

建議一個團隊整個技術全面,不指望一個人同時掌握所有技術,每個人都要有側重點。還有編程能力一定要強,第一個隊就是死在編程上,理論部分基本完成,數據也有,因為寫演算法缺乏經驗導致耗費了大量時間在編程上。

差不多就這樣。


足夠了,雖然只參加過數學建模國賽和美賽,但是matlab足夠


參加了兩次數模比賽,然而我只會MATLAB


這個要看具體解決什麼問題。

1?MATLAB與C++等語言

MATLAB是快捷方便的編程軟體,用它可以基本解決一些較小規模的編程問題。但事實上,由於它是調用各種封裝好的函數,所以實際上比C++等底層語言慢很多,現實中如果涉及到的問題規模較小,不怎麼感覺得出來,但一到了大規模問題差別就顯現出來。比如下面這樣一個例子:

對一個1000*1000的矩陣A,初值為0,首先隨機設置50個元素值為1,對每個值為1的元素 A_{ij} ,對其相鄰8個0值元素 B_{ij} ,分別產生一個隨機數U,如果U&>0.8,則令 B_{ij} =1,直到數字1的比率剛好超過70%。

像這種小程序,編起來很簡單,但需要運行非常多次循環(這裡暫時不考慮其他技術,比如並行),同時的思路編出來的代碼,在MATLAB和C++運行的效率可以相差很多倍。可以只運行例子一次,時間可以等,但假如你剛好需要運行非常多次,那這個時間差就影響非常大了。由於MATLAB編起來很快捷,所以類似這種時候使用MATLAB就相當於在做一個簡易的小測試,看編程思路對不對,確認可以了,再去編成其他語言也不遲。

2?MATLAB與SAS等統計軟體

MATLAB有很多工具箱可以調用,包括統計回歸分析方面,也可以接入SAS,SPSS等不同軟體。如果只是解決基本的統計回歸問題,那MATLAB是足夠了,但如果是涉及到相對複雜的問題,很多時候需要比較美觀的圖像表格結果,或者可能MATLAB並沒有很完整的該模型的工具箱。針對不同的統計回歸問題,大家會傾向選用不同的軟體,比如時間序列問題可以選用Eviews(如果希望軟體批量產生不同參數的結果以備選擇,則可以考慮SAS)。雖然如此,有時候我們調用模型也並不是想調用整個模型,有可能還會對模型中的某一步修改一下,這時使用MATLAB就可以比較方便地修改,編自己想要的程序。

3?MATLAB與Lingo等優化軟體

MATLAB可以搞定。


推薦閱讀:

怎樣看待2017數學建模國賽AB題都需要大量數據處理。?
全國數學建模大賽的國家一等獎名額是如何分配的?
做數學建模怎樣才能有自己的創新點?
數學建模競賽matlab使用的基本技能及小tips都有什麼??
怎麼在建模中吹好水?

TAG:數學 | MATLAB | 數學建模 | 高等數學 |