您當前的位置:首頁 > 收藏

關於數學建模小白應該怎樣準備呢?

作者:由 放縱的青春 發表于 收藏時間:2022-04-15

關於數學建模小白應該怎樣準備呢?一小隻2022-04-15 17:33:20

本人非數學類專業,去年國賽省二,主要負責建模,站在建模手的角度來說一下我的看法。第一,建議提前一個月廣泛學習相關模型的適用條件和邏輯,達到看到題目能反應出用哪類模型甚至哪個模型的程度,更具體的還得在比賽期間頭腦風暴蒐集資訊。第二,找到一個好的程式設計手非常重要,必須是學計算機的。第三,論文寫手我感覺作用不大,因為論文的書寫和建模的思路緊密相連,所以我建議可以有兩個人同時學習建模和寫作,加大進度推進效率。最後,不要熬夜!!熬夜作用不大,我們當時熬夜基本都在玩,真正幹活的時間很少。

關於數學建模小白應該怎樣準備呢?遠方的路很長2022-04-21 17:08:29

首先說下各高校普遍存在的問題,培訓課上的東西真的過於基礎了,別說是國賽了,模擬題都難以下手,小白們應該深有體會吧。那麼培訓有用嗎?當然有,那些有用的演算法是有一定難度的,先學學基礎的知識可以幫助你們更好的理解好的演算法。

在國賽中,一些大佬們都喜歡用高大上的演算法,一是演算法確實能得到比較好的結果,二是很少人會用,在國賽中更有優勢。好的演算法,肯定是難懂的,但可別怕學什麼難得東西,只要掌握了學習方法,學起來自然很輕鬆。接下來說下如何高效率得學習數模

首先說說隊伍,隊內一定得和諧,可別嫌棄誰,尤其是程式設計的同學,建模過於理想了或者超出的程式設計同學的能力了,這個時候不應該向其他小夥伴抱怨說自家程式設計不行,既然是個團隊,就應該一起解決問題。

建模方向建議:

可以說是隊伍得領頭人了,做題的進度掌握在建模同學的手裡,為什麼學校培訓大多時候是在講演算法呢,演算法是解決模型工具,同時自己掌握的演算法多了,自然建模就輕鬆了許多,那麼我們如何去高效率的學習演算法呢?學現成的是最好的,耳熟能詳這麼多演算法都掌握了嗎,可沒什麼人願意把自己的東西帶程式分享出來,一是麻煩,二是把寶貴的東西分享給你了,自己的優勢就沒了。學數模可別指望別人,學習是自己的事。演算法的學習,可以看作是一個演算法是很多公式組成的,別去糾結哪一個公式,要知道別人花了幾年甚至一輩子研究出來的東西,一兩天是無法掌握的,數學建模本身就是運用數學工具解決問題,演算法是工具,所以我們懂得怎麼運用就可以了,學演算法如何高效率的去學,首先,瞭解下演算法的機理是什麼,懂這個演算法的大致過程是什麼,然後再去看演算法的步驟。

此外,建立的模型程式設計同學編不出來是有原因的,接觸到陌生的演算法怎麼可能一下子就理解了呢,所以建模同學在學習演算法的時候,拉上程式設計的同學,一是不懂的步驟可以讓程式設計同學從程式的角度解釋下,二是建模和程式設計的知識同步,這樣比賽中能節約很多討論和互相嫌棄的時間。

建模同學平時有空多和其他建模的同學交流下,如果樂意分享,可以交流自己的經驗,討論的過程中不管別人是對是錯,如果是錯的,那就心裡記得,做題的時候千萬別出錯。閒暇之餘可以向程式設計的同學學習下程式設計,這樣可以明白一個演算法能解決什麼樣的問題,資料中可不會總結,但程式會告訴你這個演算法的侷限在哪裡,比如要預測五年的資料,但是之後4年的資料,那BP神經網路還能行嗎,肯定是誤差很大的。

總之:

不管是學演算法還是看案例模型,首先了解個大概再去看步驟,在學演算法的時候的和程式設計同學討論,一起學習,這樣也具有了程式設計思維,這樣有兩個好處的,一是在學其他演算法的時候更容易理解某個公式的含義的,表面看一個複雜的公式,有很多引數沒有解釋,但是要知道程式能執行出結果是有一定邏輯的,所以擁有一些程式設計思維會提高學演算法的效率,因為對於高大上的演算法,很多問題是網上查不到的。第二,在做題的時候,建立的模型不會過於理想使得不能透過程式實現,再好的模型,如果不能程式設計算出結果,那這個模型還有什麼用呢。學演算法也有個講究,比如評價類演算法,從基礎的商權法學起,或者層次分析法也可以;學神經網路從BP學起。層層遞進,然後學好的、高階的演算法。目前可以先把數模樂園公眾號整理的算法理解了再去看其他的都可以。

程式設計方面建議:

剛也說了,和建模的同學一起學習演算法,瞭解隊友總是好的,那麼平時怎麼鍛鍊自己的程式設計能力呢,首先就得鍛鍊下自己的程式設計邏輯思維了,首先從翻譯程式開始,數模樂園微信公眾號經常整理的的演算法程式,可以把整理的程式拿來一個個看,先別看批註,自己翻譯,一步一步來,遇見不懂函式可以自行上網查詢,都有詳解的,比如sort函式,功能就是排序,但是sort(x,1)和sort(x,2)是分別是什麼意思呢,那麼是否可以輸入一個矩陣運算下,然後就知道了sort(x,2)是將每行按小到大的順序進行排列。如果看了解釋還不明白的話,可以帶資料進去理解下。把數模樂園公眾號整理的程式都翻譯一遍之後,可以到程式設計師開發網上搜演算法的程式,進行除錯,上面的程式大多數都是少程式、加密程式了的,嘗試去補充、破譯程式,之後的程式設計能力足以應付國賽了。在學演算法程式的時候,儘量和建模的一起學,建模看步驟,你看程式,一步對著一步來,誰不懂就討論下,這樣學習的效率很高,半小時之類掌握一種演算法是不在話下的。

論文方向建議:

一篇質量好的論文,除了精煉的語言描述外,圖和表是很必要的,如果模型的步驟比較多,那麼可以做一個流程圖出來,然後只對重要的公式描述即可,如果遇到資料題,那麼在問題說明或者在符號說明後,可新建個標題,分析下資料,比如統計某指標的分佈情況,此外程式設計求出來的結果,matlab作圖其實不是很美觀,建議將結果匯入origin中作圖。這是作圖,很多學長學姐都在說寫論文的多看優秀論文,看了真的有用嗎,網上分享的論文有多少是高質量的,感覺看了所謂的優秀論文並學不了什麼哈,那麼在選取優秀論文的時候可以看下,論文中的圖做得怎麼樣,尤其是流程圖,可以記下:高質量的論文一般都會有visio等軟體做的流程圖,而且是彩色的,以及資料圖,絕不會是matlab的結果圖,會透過其他軟體製作,以這個標準去篩選論文,一般這樣的論文不管是語言描述,還是邏輯感,一定是非常不錯的。論文的語言描述,其實靠的是經驗,可以找寫論文的學長學姐交流下,看看他們寫論文是怎樣的套路,在寫論文的時候可別說自己的模型不好,不過結果怎樣,不好就說的委婉,效果好就隨意吹牛,理直氣壯哈。寫論文一定的寫出氣勢,如果問題不能很好的解決,可以少談模型和結果,多用語言和圖描述問題解題步驟。

總之

論文靠的是經驗,可以先看看高質量論文,然後再去看比較次的論文,然後在旁批註,怎樣寫更好,這樣鍛鍊數模論文的寫作能力,很快的就會成為一位論文大神了。建議寫論文的同學學好visio和origin這兩個軟體,如果word會作圖,那麼可以不學visio,word能做出一樣的效果的。

論文方向的同學也不是隻顧著鍛鍊自己寫作能力,建模和程式設計在討論的時候參與進去,做個打雜的,幫幫查下資料,至少要對演算法有一定的瞭解,比賽中也知道怎麼描述。

最後

一定要參加熱身賽,涉獵的題型多了,自然對分析建模問題及解題思路起到良好幫助,國賽前可推薦參加數維杯國賽來當做練手,賽制和國賽完全一致,對於數模小白比較友好,也是快速提升建模能力的方式。

2022年第七屆數維杯大學生數學建模挑戰賽報名即將截止,等你來戰