數(shù)學與Python有機結(jié)合及統(tǒng)計學借帘、微積分蜘渣、線性代數(shù)相關資源、圖形軟件

無論是三大數(shù)學軟件Matlab(通信肺然、控制等工程例外)蔫缸、Maple、Mathematica际起,還是三大統(tǒng)計軟件Spass拾碌、Stata、SAS街望,這些可視化的軟件本身就是編程的一個體現(xiàn)校翔,它們在一定程度上降低了我們使用數(shù)學的門檻,但另一方面它們背后的功能是可以被編程取代的灾前,而Python在數(shù)學和數(shù)據(jù)科學領域的流行防症,也是逐漸取代這些軟件的一個過程。

在職業(yè)方面哎甲,精算師蔫敲、金融工程、商業(yè)分析炭玫、數(shù)據(jù)分析師奈嘿、數(shù)據(jù)挖掘、數(shù)據(jù)建模吞加、量化工程師指么、算法工程師、數(shù)據(jù)產(chǎn)品經(jīng)理榴鼎、數(shù)據(jù)運營伯诬、數(shù)字營銷、大數(shù)據(jù)巫财、游戲開發(fā)盗似、人工智能等諸多職業(yè)崗位都對數(shù)學有要求,但是我們會發(fā)現(xiàn)這些崗位對數(shù)學的應用都需要使用到數(shù)學軟件以及需要與編程結(jié)合平项,可以說我們要應用數(shù)學赫舒,天然就應該與編程有機結(jié)合起來悍及。而在數(shù)學、數(shù)據(jù)領域接癌,由于Python編程語言的膠水性質(zhì)以及極為豐富的第三方庫心赶,Python漸已成為學數(shù)學最值得推薦的編程語言。

用Python學數(shù)學技術專欄就嘗試如何將數(shù)學與編程有機結(jié)合起來缺猛,讓數(shù)學的學習回歸到基礎概念的理解和實際應用之中去缨叫。(當然專欄的目的主要是為數(shù)據(jù)科學和機器學習等的基礎服務)

為什么數(shù)學那么難學且無用?

所謂將數(shù)學與編程有機結(jié)合荔燎,一是在數(shù)學學習的方向上就以數(shù)學的實際應用為重心耻姥;二是數(shù)學在符號上、圖形上等的表現(xiàn)形式應該與編程語言無縫結(jié)合有咨。

在我們學生時代的數(shù)學教學存在著諸多弊端:

  • 一是以往的教育過于強調(diào)具體的計算能力琐簇,很多數(shù)學學得好的,不過是解題高手座享,一些極其復雜的微分方程婉商、矩陣等還停留在筆算技巧和筆算能力上,而且對數(shù)學的應用需要死記硬背大量復雜的數(shù)學公式渣叛,這無疑加大了數(shù)學學習的難度据某,也偏離了數(shù)學原本的方向;在專欄的代數(shù)符號運算里面诗箍,我們就提到過可以借助于Sympy這種CAS工具來進行復雜的數(shù)學運算,從此數(shù)學公式的記憶與筆算不再是學習的重點挽唉;
  • 二是真正好的數(shù)學教學是應該要復雜的數(shù)學理論知識簡化滤祖,國內(nèi)大學教程相比于國外存在很多不足之處,所以接下來我們也會推薦一些比較好的數(shù)學教程瓶籽。很多人數(shù)學學不好匠童、學不會在很大程度上也與教程對數(shù)學概念的講解有一定的關系;
  • 三是結(jié)合Python編程是可以對一些數(shù)學的問題進行建模的塑顺,通過編程來進行數(shù)學建模在前面我們提到的那么多職業(yè)汤求,他們對數(shù)學的要求基礎大多是微積分、概率統(tǒng)計严拒、線性代數(shù)相關的知識扬绪,只是在以往的學習里,我們看不到數(shù)學是如何應用到這些職業(yè)里的裤唠;
    四是結(jié)合Python以及一些數(shù)學軟件挤牛,我們可以做出一些動態(tài)圖形,加深大家對數(shù)學公式的理解

精選數(shù)學教程

到了大學之后种蘸,線性代數(shù)墓赴、概率統(tǒng)計竞膳、微積分等數(shù)學知識的難度較中學時代更高,整個數(shù)學的畫風變化過大诫硕,很多概念開始變得難以理解坦辟,不知道怎么突然就冒出來了,也不知道學了有什么用章办。關于這些锉走,其實有一部分是我們教材的原因,國內(nèi)大學教材的編寫者沒有產(chǎn)品經(jīng)理思維纲菌,沒有切實站在學生的角度挠日、沒有以學生為中心來寫教材。這里推薦一些公認比較好的教材:

線性代數(shù)

關于線性代數(shù)這里我們推薦兩個教程翰舌,一個是William Gilbert Strang(威廉·吉爾伯特·斯特朗)的視頻教程麻省理工公開課:線性代數(shù)嚣潜,這個視頻教程有配套的教材線性代數(shù)導論,價格有點性感,不過不看書也是OK的椅贱。Strang是麻省理工MIT的教授懂算,寫過很多經(jīng)典的數(shù)學教材。他親自傳授的這個線性代數(shù)課程也是享有盛譽庇麦。我們還可以在MIT的開放課程里查看更多關于課程的信息:MIT線性代數(shù)課程官網(wǎng)计技。這個課程還有配套的習題課,在網(wǎng)易云課堂上也可以看到MIT線性代數(shù)習題課

二是3Blue1Brown的線性代數(shù)的本質(zhì)山橄。3Blue1Brown是斯坦福大學畢業(yè)的一個小哥創(chuàng)辦的Youtube頻道垮媒,擅長用直觀的方法來闡述難以理解的概念,非常推薦航棱。

微積分

微積分的課程我們也同樣是推薦MIT和3Blue1Brown的課程睡雇。微積分在MIT分為單變量微積分和多變量微積分,而且都有配套的習題視頻饮醇,在網(wǎng)易云課堂都可以看到它抱。
單變量微積分單變量微積分習題課朴艰、多變量微積分观蓄、多變量微積分習題課。如果想看更多視頻內(nèi)容也可以去MIT官網(wǎng)上了解一下祠墅,單變量微積分官網(wǎng)侮穿、多變量微積分官網(wǎng)

3Blue1Brown的微積分的本質(zhì)講的也是一如既往的好毁嗦,可以在學習MIT課程前先看撮珠。

統(tǒng)計學

統(tǒng)計學是一門非常重要的知識,這里我們推薦Khan Academy可汗學院的統(tǒng)計學教程,雖然也有MIT統(tǒng)計學教程,可惜的是沒有字幕芯急,如果你聽不懂勺届,可以去Youtube上借助AI字幕來看,也可以去MIT統(tǒng)計學基礎官網(wǎng)上獲取更多資料娶耍。還有一個斯坦福大學的統(tǒng)計學習入門(英文字幕)相當不錯免姿。
以上教程可能有的使用的R或MATLAB,這些都是可以用Python來代替的榕酒。

數(shù)學公式與圖像展示

有趣的數(shù)學圖形

為了加深我們對數(shù)學公式的理解胚膊,我們通常都需要輔之以一些圖形,比如函數(shù)的圖形想鹰、幾何圖形紊婉、空間圖形等。以往我們作圖都是通過在紙上手繪一些圖形辑舷,不僅麻煩喻犁,而且非常不精確,更無法讓圖形根據(jù)變量取值的變化來直觀的調(diào)整圖形何缓。
比如下面這個公式:

y=x^{\frac{2}{3}}+0.9\sqrt{3.3-x^2}\sin\left(\pi x\right)
為了手繪出這個圖形肢础,我們不僅要研究這個數(shù)學公式的特性(比如最高點、最低點碌廓、拐點传轰、凹凸性)、還要通過賦值的方式來確定圖形的輪廓谷婆。當然由于賦值的有限慨蛙,圖形自然是無法做到精準的。這還是只有一個變量的情況下纪挎,有時我們?yōu)榱搜芯繑?shù)學公式期贫,可能會有多個變量,比如下面的公式除了x這個變量以外廷区,還會有變量b:

y=x^{\frac{2}{3}}+0.9\sqrt{3.3-x^2}\sin\left(b\pi x\right)
由于公式過于復雜,學生時代數(shù)學公式的圖形繪制也花了我們大量的時間贾铝。但是圖形卻又是有必要的隙轻,因為它可以加深我們對數(shù)學公式的理解。其實我們是可以借助于計算機軟件來實現(xiàn)這個公式的圖形的垢揩。

心形數(shù)學圖形

數(shù)學圖形繪制軟件

那上面這個數(shù)學公式圖形的動畫效果是怎么做的呢玖绿,可以使用DesmosGeogebra 在線版本來繪制,雖然萬能的Wolfram Alpha( Mathematica產(chǎn)品也是該公司的)也可以做到叁巨,不過體驗比較差還收費斑匪。Desmos、Geogebra锋勺、Wolfram Alpha(收費)都有非常不錯的App產(chǎn)品蚀瘸,非常值得學習數(shù)學的朋友使用這些軟件來增進對數(shù)學公式狡蝶、概念等的理解。

Desmos贮勃、Geogebra可以通過虛擬鍵盤的方式來輸入公式贪惹,非常方便,而且公式輸入框里面的公式格式是LaTex寂嘉,可以直接復制公式到VS Code的Markdown里奏瞬,加上$$$$符號即可顯示,對LaTex不了解的童鞋可以閱讀本專欄用Python學數(shù)學里面的《使用Markdown輸出LaTex數(shù)學公式》泉孩。同時你也可以直接把LaTex格式的數(shù)學公式直接粘貼到Desmos硼端、Geogebra的數(shù)學公式輸入框里面。比如把下面LaTex格式的數(shù)學公式粘貼到數(shù)學公式輸入框里面寓搬,將b作為變量:

x^{\frac{2}{3}}+0.9\sqrt{3.3-x^2}\sin\left(b\pi x\right)

Desmos珍昨、Geogebra可以給數(shù)學公式添加變量,你可以使用Slider來調(diào)整變量的值订咸,圖形會實時繪制并展示出來曼尊,堪稱教學神器,以后再也不用手繪數(shù)學圖形啦~

使用Desmos繪制的圖形

其他數(shù)學相關軟件(含App)

既然都已經(jīng)是互聯(lián)網(wǎng)時代了脏嚷,借助于PC端在線版本的軟件以及手機端的App來學習數(shù)學是理所應當?shù)穆嫫玻诿绹葒遥@些數(shù)學軟件早已走進了課堂(對中小學數(shù)學軟件感興趣的朋友可以自行搜索整理了解一下父叙,這里就不介紹了)神郊。

Symbolab:告訴你運算步驟的數(shù)學軟件

Symbolab :這是一個高等數(shù)學計算器,支持Online版本(也有不錯的App軟件)趾唱,可以用來計算一些基礎的代數(shù)涌乳、函數(shù)、三角甜癞、微積分等數(shù)學公式以及化學公式的運算夕晓,它最有特色的功能是可以給出比較詳細運算的步驟,如果你想計算下列數(shù)學公式的值:

\int \left(x^2+ax-3\right)^2dx

用Symbolab來計算悠咱,除了可以得出如下結(jié)果:

\int \left(x^2+ax-3\right)^2dx=\frac{ax^4}{2}+\frac{x^5}{5}-2x^3+\frac{a^2x^3}{3}-3ax^2+9x+C

它還會把整個運算步驟的細節(jié)也給你展示出來蒸辆,非常適合學生再做數(shù)學習題時,來檢查自己運算步驟是否錯誤析既,也適合老師出數(shù)學習題躬贡。

類似這樣的數(shù)學軟件還有MathPapa(整體感覺比Symbolab要差),Photomath (有手機App眼坏,除了可以拍照識別公式外拂玻,也不如Symbolab)、Mathway(也比較一般,手機App倒是不錯)檐蚜。你也可以在應用商店通過搜索“Math”來獲取其他數(shù)學App魄懂,不過它們的功能和以上所說的這些都是類似的。

Python是萬能的

我們一直強調(diào)的是以上所述所有數(shù)學軟件都是可以被Python取代的(需要GUI圖形點擊操作也可以熬甚,只是比較復雜逢渔,不推薦而已),用數(shù)學軟件是很難做到與編程結(jié)合的乡括,也無法使用到一些API將數(shù)據(jù)對接到生產(chǎn)環(huán)節(jié)里去肃廓。不能與編程結(jié)合,數(shù)學公式就是死的诲泌,不能有效將數(shù)據(jù)應用到生產(chǎn)實踐里盲赊,數(shù)據(jù)的商業(yè)價值就大打折扣。所以敷扫,除了繪制數(shù)學圖形外哀蘑,學習數(shù)學就應該完全與編程有機結(jié)合

那Python怎么繪制數(shù)學圖形呢葵第?我們可以使用最常用的數(shù)據(jù)可視化庫matplotlib以及可以做代數(shù)符號運算的Sympy來繪制數(shù)學圖形绘迁。

使用matplotlib繪制 3x+2x-4的數(shù)學圖形:

import numpy as np  
import matplotlib.pyplot as plt  
def graph(formula, x_range):  
    x = np.array(x_range)  
    y = eval(formula)
    plt.plot(x, y)  
    plt.show()
    
graph('x**3+2*x-4', range(-10, 11))
3x+2x-4的數(shù)學圖形

使用Sympy繪制x^2x交叉的數(shù)學圖形:

from sympy import symbols
from sympy.plotting import plot
x = symbols('x')
p1 = plot(x*x, show=False)
p2 = plot(x, show=False)
p1.append(p2[0])
p1.show()
交叉的數(shù)學圖形

另:使用Python的Sympy Gamma也同樣獲得解題的詳細步驟,不過使用體驗上是沒法和Symbolab相比的

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末卒密,一起剝皮案震驚了整個濱河市缀台,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌哮奇,老刑警劉巖膛腐,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異鼎俘,居然都是意外死亡哲身,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進店門贸伐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來勘天,“玉大人默垄,你說我怎么就攤上這事足丢。” “怎么了尤泽?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵歌逢,是天一觀的道長巾钉。 經(jīng)常有香客問我翘狱,道長秘案,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮阱高,結(jié)果婚禮上赚导,老公的妹妹穿的比我還像新娘。我一直安慰自己赤惊,他們只是感情好吼旧,可當我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著未舟,像睡著了一般圈暗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上裕膀,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天员串,我揣著相機與錄音,去河邊找鬼昼扛。 笑死寸齐,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的抄谐。 我是一名探鬼主播渺鹦,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蛹含!你這毒婦竟也來了毅厚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤挣惰,失蹤者是張志新(化名)和其女友劉穎卧斟,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體憎茂,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡珍语,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了竖幔。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片板乙。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖拳氢,靈堂內(nèi)的尸體忽然破棺而出募逞,到底是詐尸還是另有隱情,我是刑警寧澤馋评,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布放接,位于F島的核電站,受9級特大地震影響留特,放射性物質(zhì)發(fā)生泄漏纠脾。R本人自食惡果不足惜玛瘸,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望苟蹈。 院中可真熱鬧糊渊,春花似錦、人聲如沸慧脱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽菱鸥。三九已至宗兼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間氮采,已是汗流浹背针炉。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留扳抽,地道東北人篡帕。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像贸呢,于是被迫代替她去往敵國和親镰烧。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容