Python小白的數學建模課-01.新手必讀



Python 完全可以滿足數學建模的需要。

Python 是數學建模的最佳選擇之一,而且在其它工作中也無所不能。

『Python小白的數學建模課 @ Youcans』帶你從數模小白成為國賽達人。



1. 數學建模新手入門

『Python小白的數學建模課 @ Youcans』 系列 是專門為學習數學建模、准備數模競賽的小白准備的系列教程。

【Python小白的數學建模課-01.新手必讀】 主要討論小白剛剛接觸數學建模的幾個困惑:

  • 學習數學建模難不難?應該怎么學?
  • 學習數學建模選擇什么計算機語言最好?我要學 Matlab 嗎?
  • 用 Python 能做數學建模嗎?
  • 用 Python 做數學建模好不好用,好不好學?

歡迎關注 『Python小白的數學建模課 @ Youcans』,每周更新數模筆記
Python小白的數學建模課-01.新手必讀
Python小白的數學建模課-02.數據導入
Python小白的數學建模課-03.線性規划
Python小白的數學建模課-04.整數規划
Python小白的數學建模課-05.0-1規划
Python小白的數學建模課-06.固定費用問題
Python小白的數學建模課-07.選址問題
Python小白的數學建模課-09.微分方程模型
Python小白的數學建模課-10.微分方程邊值問題
Python小白的數學建模課-12.非線性規划
Python小白的數學建模課-15.圖論的基本概念
Python小白的數學建模課-A1.國賽賽題類型分析
Python小白的數學建模課-A2.2021年數維杯C題探討
Python小白的數學建模課-A3.12個新冠疫情數模競賽賽題及短評
Python小白的數學建模課-B2.新冠疫情 SI模型
Python小白的數學建模課-B3.新冠疫情 SIS模型
Python小白的數學建模課-B4.新冠疫情 SIR模型
Python小白的數學建模課-B5.新冠疫情 SEIR模型
Python小白的數學建模課-B6.改進 SEIR疫情模型
Python數模筆記-PuLP庫
Python數模筆記-StatsModels統計回歸
Python數模筆記-Sklearn
Python數模筆記-NetworkX
Python數模筆記-模擬退火算法



2. 學習數學建模難不難?應該怎么學?

進入大學以后,很多同學都會聽老師和師兄師姐說起“數學建模”、“數模競賽”,充滿興趣的同時也會有很多困惑:數學建模到底是什么?要不要學,好不好學,怎么學?

“數學建模”是用數學模型的方法,分析和解決實際應用問題的方法。

中學數學的應用題,就是典型的數學建模問題:基於簡化的應用問題,給出一些已知條件,需要求解一些問題。應用題的解題過程,通常是先分析問題,判斷用什么方法解題,然后根據已知條件一步步推導、計算,最后得出求解問題的答案。這就是典型的數學建模的方法和步驟,”數學建模“就是加強版的應用題。

大學里經常說的“數學建模”往往與”數模競賽“聯系在一起,這時又特指通過計算機程序來求解問題。這是因為,既然”數學建模“是加強版的應用題,”加強“體現在問題的求解計算過程比中學數學復雜,如果不通過計算機編程往往難以快速高效地計算出答案。另一方面,這也是為了鼓勵大家學習使用計算機,學習通過計算機編程解決問題。

”數學建模“的學習過程並不困難,並不一定需要很好的數學基礎,也不需要有很高的計算機編程水平——數學基礎好,編程基礎強,學習數學建模肯定會更加容易。但是,數學成績不好,計算機小白,也完全可以學習數學建模、學好數學建模,並會在學習過程中鍛煉數理思維邏輯,提高計算機編程水平——這才是最重要的收獲。

小白要學習數學建模,建議:

  • 首先聽一兩節數模培訓的公開課或分享會,B站上有很多,大概明白數學建模是怎么回事就行。
  • 其次要選擇一門計算機程序語言進行學習,掌握基本的編程操作。
  • 然后要系統學習各種類型的數學模型和算法,這是比較漫長的學習過程。
  • 最后是實戰練習,大學的數模協會都會安排練習賽、校內賽之類的訓練和競賽。


3. Python 能不能滿足數學建模的需要?

答案很明確:Python 完全可以滿足數學建模的需要

首先,幾乎所有的計算機語言,都可以滿足常用的數學建模問題的需要。例如 C、Python、C++、C#、VB、R、Go,當然還有數模競賽中最流行的 Matlab,解決各種數學建模問題都毫無問題。

需要注意的是,數模學習過程中經常聽到的 Lingo、SPSS,嚴格地說並不是計算機語言,只是解決某些類型問題的專用軟件,並不適用於其它類型的問題。

如果你學過其中一種計算機語言,而且(1)該計算機語言已經達到非常熟練的水平,(2)以提高編程水平為目的,而不僅是為了參加數模競賽,那么你也可以使用學過的計算機語言學習數學建模和參賽。否則,就應該選擇 Matlab 語言或者 Python 語言,其原因嘛,看完本文就清楚了。



4. Python 數學建模好不好用?

答案也很明確:Python 用於數學建模,很好用

換個角度談這個問題,就是學習數學建模、參加數模競賽最好要選擇什么計算機語言?答案就是 Matlab 語言或者 Python 語言。

為什么這么說呢?因為數學建模涉及的問題類型很多,算法更加繁多。對於普通本科學生來說,如果學習各種算法以后都要自己從零開始編程,對本科學生是非常非常困難,幾乎不可能實現的。實際上,並不是真的要讓同學們自己按照算法步驟從頭編程,能夠清楚每一類問題有哪些常用算法,學會使用現有的算法程序就可以了。

現有的算法程序從哪里來呢?一是來自計算機語言的各種算法工具包,以數學建模所涉及的算法來說,Matlab 語言或者 Python 語言的工具包都非常豐富,程序質量高、接口規范、文檔和例程比較完整。二是來自先前的老師和同學積累的算法例程,但要系統全面地搜集這種算法例程也很困難,而且搜集到的例程質量參差不齊、接口五花八門,新手要進行消化吸收的難度也很大。

為什么選擇 Python 語言,而不是選擇 Matlab 語言呢?首先,Matlab語言來做數學建模完全可以,也是很好的選擇。但是,學習任何一門計算機語言都是需要時間和精力的,我們學習編程語言用於數學建模,但最好並不只是為了數學建模,而是做其它工作時也能用。

從這個角度來說,Python 語言的優勢就非常明顯了。Matlab 是商業數學軟件,主要應用於與數值計算相關的科研領域,在編程語言中排名 19、占比 1%。Python 語言是一種通用的高級編程語言,簡單易學、免費開源,應用領域幾乎無所不能,是最流行的編程語言,占比 12%。總結來說,在計算研究領域 Matlab 語言的性能更強,但在其它領域 Python 語言則是王者。



5. Python 數學建模好不好學?

綜合來看,Python 比較容易學,也值得學。

大神覺得簡單的問題,小白總會感到困難的。比較而言,Python 是比較簡單、易學易用的程序語言,比 C 語言容易學、好掌握。不過,零基礎學習 Matlab 會更容易上手,要精通也不容易;而 Python 大約還是需要一個月的基礎學習,才能較好地學習和使用數學建模的算法。

既然這樣,為什么大家一說起數學建模就會想到 Matlab 語言,數模培訓中也都在用 Matlab 語言呢?首先,Matlab 語言在數學建模中也是很好的選擇;其次,十幾年前開始搞數模競賽時,Python 語言還沒有現在這么強大和流行;第三,Matlab 語言對於從事教學科研的老師是最熟悉、最常用的;最后,是由於多年的積累和慣性。

如果大學課程開設過計算機語言,通常是 C語言,在此基礎上自學 Python 很容易,可以直接結合數學建模的內容學習 Python ;如果還沒有開設計算機語言課程,自學 Python 語言也是較好的選擇,特別是對於數學建模之外的需求也能勝任。


6. 『Python小白的數學建模課 @ Youcans』系列計划

近年來,學習 Python 語言的人越來越多,使用 Python語言學習數學建模、參加數模競賽的同學也越來越多。但是,關於 Python 語言數學建模的書籍、教程仍然比較少,並且與小白的需求存在差距:老師講的很精彩,我聽的很激動,下來還是不會用。

這正是本系列『Python小白的數學建模課 @ Youcans』寫作的初衷:

  • 面向數模小白 & Python 小白,從零開始,按照 Matlab 數學建模培訓的框架體系,系統講解 Python 語言的實現方案;
  • 着重講算法的使用過程,例程盡量直接選用 Matlab 培訓教程中的例題;
  • 講算法思想,不講算法內容;講算法應用條件,不講算法實現過程;
  • 開源工具包能實現的算法,不要自己造輪子;
  • 盡量用最簡單易懂的程序結構,哪怕有些笨拙;
  • 所有例程都是調試運行通過,帶有不厭其煩的詳細注釋、說明和運行結果。

本系列『Python 數學建模 @ Youcans』計划 50篇,系統解決數學建模學習所需的技術和算法。
此前寫過一些專題的『Python 數模筆記』,就不再更新了,部分內容將根據本系列的章節重新整理。

感謝大家的支持,希望學習 Python 數學建模的同學可以關注收藏本系列。

最后,其實我也是一名 Python 小白。



版權說明:

歡迎關注『Python小白的數學建模課 @ Youcans』 原創作品

原創作品,轉載必須標注原文鏈接(https://www.cnblogs.com/youcans/p/14824415.html)。

Copyright 2021 Youcans, XUPT

Crated:2021-05-26



歡迎關注 『Python小白的數學建模課 @ Youcans』,每周更新數模筆記
Python小白的數學建模課-01.新手必讀
Python小白的數學建模課-02.數據導入
Python小白的數學建模課-03.線性規划
Python小白的數學建模課-04.整數規划
Python小白的數學建模課-05.0-1規划
Python小白的數學建模課-06.固定費用問題
Python小白的數學建模課-07.選址問題
Python小白的數學建模課-09.微分方程模型
Python小白的數學建模課-10.微分方程邊值問題
Python小白的數學建模課-12.非線性規划
Python小白的數學建模課-15.圖論的基本概念
Python小白的數學建模課-A1.國賽賽題類型分析
Python小白的數學建模課-A2.2021年數維杯C題探討
Python小白的數學建模課-A3.12個新冠疫情數模競賽賽題及短評
Python小白的數學建模課-B2.新冠疫情 SI模型
Python小白的數學建模課-B3.新冠疫情 SIS模型
Python小白的數學建模課-B4.新冠疫情 SIR模型
Python小白的數學建模課-B5.新冠疫情 SEIR模型
Python小白的數學建模課-B6.改進 SEIR疫情模型
Python數模筆記-PuLP庫
Python數模筆記-StatsModels統計回歸
Python數模筆記-Sklearn
Python數模筆記-NetworkX
Python數模筆記-模擬退火算法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM