Python數(shù)學(xué)編程(異步圖書出品)
定 價:59 元
- 作者:阿米特·薩哈(Amit Saha) 著,許楊毅,劉旭華 譯
- 出版時間:2020/1/1
- ISBN:9787115522719
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁碼:190
- 紙張:膠版紙
- 版次:1
- 開本:16開
本書將程序設(shè)計和數(shù)學(xué)巧妙地結(jié)合起來,從簡單的項目開始,應(yīng)用Python解決高中和大學(xué)低年級的數(shù)學(xué)問題,比如幾何、概率、統(tǒng)計以及微積分等,為進一步學(xué)習(xí)更復(fù)雜的數(shù)學(xué)內(nèi)容以及Python編程語言打下堅實的基礎(chǔ)。本書也可作為Python初學(xué)者的入門讀物,通過學(xué)習(xí)書中的示例程序和完成那些編程挑戰(zhàn),讀者可以提高自己的編程能力和技巧。
適讀人群 :本書適合廣大的青少年、年輕人學(xué)習(xí)編程和利用編程學(xué)數(shù)學(xué)。
本書展示了如何應(yīng)用Python探究高中和大學(xué)低年級的數(shù)學(xué)主題,比如代數(shù)、統(tǒng)計、幾何、概率以及微積分。你會從簡單的項目學(xué)起,比如因式分解、二次方程求解,當(dāng)你掌握了這些基礎(chǔ)的知識后,就可以處理更復(fù)雜的項目了。
使用本書提供的方法探索數(shù)學(xué)和編程,將讓你的整個數(shù)學(xué)和計算機科學(xué)學(xué)習(xí)過程變得有趣、實用。
你將從本書學(xué)到以下內(nèi)容:
·用統(tǒng)計方法描述數(shù)據(jù),用線圖、條形圖和散點圖可視化數(shù)據(jù)
·用程序探究擲硬幣、擲骰子和其他概率游戲中的集合理論和概率問題
·用Python的符號數(shù)學(xué)功能解決代數(shù)問題
·繪制幾何圖形,探索分形,如Barnsley蕨類植物、Sierpiński三角以及Mandelbrot集
·寫程序求解導(dǎo)數(shù)與積分
本書還提供了有創(chuàng)意的編程挑戰(zhàn)以及應(yīng)用實例,可以幫助你把新學(xué)到的數(shù)學(xué)和編程技巧用于實踐。你可以嘗試解決各種有趣的問題,比如不等式求解、洗牌、畫出子彈飛行過程中重力的影響、探究斐波那契數(shù)列與黃金分割之間的聯(lián)系、利用向板子上投擲100000次“飛鏢”來估計圓的面積等。
無論你是對數(shù)學(xué)還是對編程感興趣,本書都會帶給你不一樣的體驗。如果你是一位老師,希望教學(xué)生編程,你會發(fā)現(xiàn)Python讓編程變得更容易。如果你是一位學(xué)生,當(dāng)你致力于解決數(shù)學(xué)問題時,讓Python來幫助你處理那些煩瑣的計算工作吧!
關(guān)于作者
Amit Saha是一位曾在Red Hat和Sun Microsystems公司工作過的軟件工程師。他創(chuàng)辦并維護著Fedora Scientific,一個為科學(xué)和教育用戶服務(wù)的Linux發(fā)行版。他也是Prentice Hall出版社《寫下你的第一個程序》(Write Your First Program)一書的作者。
關(guān)于譯者
許楊毅,現(xiàn)任商湯智慧城市事業(yè)群產(chǎn)品總監(jiān),曾是京東云高級總監(jiān),百度系統(tǒng)部和新浪業(yè)務(wù)運維負(fù)責(zé)人,UCloud運營平臺部總監(jiān)和產(chǎn)品市場部副總裁,資深的業(yè)務(wù)架構(gòu)師、SRE專家、大數(shù)據(jù)工程和云計算架構(gòu)顧問。曾翻譯《貝葉斯思維:統(tǒng)計建模的Python學(xué)習(xí)法》一書。
劉旭華,現(xiàn)為中國農(nóng)業(yè)大學(xué)理學(xué)院應(yīng)用數(shù)學(xué)系副教授,北京理工大學(xué)博士,美國北卡羅來納大學(xué)教堂山分校訪問學(xué)者,主要從事數(shù)理統(tǒng)計、數(shù)據(jù)科學(xué)、數(shù)學(xué)與統(tǒng)計軟件等領(lǐng)域的教學(xué)與科研工作,主持和參與多項國家自然科學(xué)基金、北京市自然科學(xué)基金項目。曾翻譯《R語言統(tǒng)計入門(第2版)》《數(shù)據(jù)科學(xué)實戰(zhàn)手冊(第2版)》等圖書。
第 1章 處理數(shù)字1
1.1 基本數(shù)學(xué)運算 1
1.2 標(biāo)簽:給數(shù)字命名 3
1.3 不同類型的數(shù)字 4
1.3.1 分?jǐn)?shù)的操作 4
1.3.2 復(fù)數(shù) 5
1.4 獲取用戶輸入 6
1.4.1 處理異常和無效輸入 8
1.4.2 將分?jǐn)?shù)和復(fù)數(shù)作為輸入 9
1.5 編寫一個數(shù)學(xué)計算程序 10
1.5.1 計算整數(shù)因子 10
1.5.2 生成乘法表 12
1.5.3 轉(zhuǎn)換測量單位 14
1.5.4 求二次方程的根 16
1.6 本章內(nèi)容小結(jié) 18
1.7 編程挑戰(zhàn) 19
#1:偶數(shù)奇數(shù)自動售貨機 19
#2:增強型乘法表生成器 19
#3:增強型單位轉(zhuǎn)換器 19
#4:分?jǐn)?shù)計算器 19
#5:為用戶設(shè)置退出選項 20
第 2章 數(shù)據(jù)可視化 23
2.1 了解笛卡兒坐標(biāo)平面 23
2.2 使用列表和元組 24
2.3 用matplotlib繪圖 26
2.3.1 圖上的標(biāo)記 28
2.3.2 繪制紐約市的年平均氣溫 29
2.3.3 比較紐約市的月平均氣溫 31
2.3.4 自定義圖形 34
2.3.5 保存圖形 37
2.4 用公式繪圖 37
2.4.1 牛頓萬有引力定律 38
2.4.2 拋物運動 39
2.5 本章內(nèi)容小結(jié) 44
2.6 編程挑戰(zhàn) 44
#1:溫度如何變化 45
#2:探索二次函數(shù)的可視化 45
#3:增強型拋物軌跡比較程序 46
#4:可視化你的支出 46
#5:探索斐波那契序列與黃金比例 48
第3章 數(shù)據(jù)的統(tǒng)計學(xué)特征 50
3.1 計算均值 50
3.2 計算中位數(shù) 52
3.3 計算眾數(shù)并創(chuàng)建頻數(shù)表 54
3.3.1 尋找最常見的元素 54
3.3.2 計算眾數(shù) 55
3.3.3 創(chuàng)建頻數(shù)表 57
3.4 測量離散度 59
3.4.1 計算一組數(shù)字的極差 59
3.4.2 計算方差和標(biāo)準(zhǔn)差 60
3.5 計算兩個數(shù)據(jù)集之間的相關(guān)性 62
3.5.1 計算相關(guān)系數(shù) 63
3.5.2 高中成績和大學(xué)入學(xué)考試成績 64
3.6 散點圖 67
3.7 從文件中讀取數(shù)據(jù) 68
3.7.1 從文本文件中讀取數(shù)據(jù) 69
3.7.2 從CSV文件中讀取數(shù)據(jù) 70
3.8 本章內(nèi)容小結(jié) 73
3.9 編程挑戰(zhàn) 73
#1:更好的相關(guān)系數(shù)計算程序 73
#2:統(tǒng)計計算器 73
#3:用其他CSV數(shù)據(jù)做實驗 73
#4:計算百分位數(shù) 74
#5:創(chuàng)建分組頻數(shù)表 74
第4章 用SymPy包解代數(shù)和符號數(shù)學(xué)問題 76
4.1 定義符號和符號運算 76
4.2 使用表達式 78
4.2.1 分解和展開表達式 78
4.2.2 使表達式整齊輸出 79
4.2.3 輸出級數(shù) 80
4.2.4 用值替代符號 81
4.2.5 將字符串轉(zhuǎn)換為數(shù)學(xué)表達式 84
4.2.6 表達式乘法 85
4.3 解方程 86
4.3.1 解二次方程 86
4.3.2 用其他變量求解一個變量 87
4.3.3 解線性方程組 88
4.4 用SymPy包繪圖 88
4.4.1 繪制用戶輸入的表達式 91
4.4.2 多函數(shù)圖形繪制 92
4.5 本章內(nèi)容小結(jié) 94
4.6 編程挑戰(zhàn) 94
#1:尋找因子 94
#2:圖形方程求解器 94
#3:級數(shù)求和 94
#4:解單變量不等式 95
第5章 集合與概率 98
5.1 什么是集合? 98
5.1.1 構(gòu)建集合 99
5.1.2 子集、超集與冪集 100
5.1.3 集合運算 102
5.2 概率 106
5.2.1 事件A或事件B發(fā)生的概率 108
5.2.2 事件A與事件B同時發(fā)生的概率 109
5.2.3 生成隨機數(shù) 109
5.2.4 非均勻隨機數(shù) 112
5.3 本章內(nèi)容小結(jié) 114
5.4 編程挑戰(zhàn) 114
#1:使用文氏圖來可視化集合之間的關(guān)系 114
#2:大數(shù)定律 117
#3:擲多少次硬幣會輸光你的錢? 117
#4:洗牌 118
#5:估計一個圓的面積 118
第6章 繪制幾何圖形和分形 120
6.1 使用matplotlib的patches繪制幾何圖形 120
6.1.1 繪制一個圓 122
6.1.2 創(chuàng)建動畫圖形 123
6.1.3 拋物軌跡動畫演示 125
6.2 繪制分形 127
6.2.1 平面上點的變換 127
6.2.2 繪制Barnsley蕨類植物 131
6.3 本章內(nèi)容小結(jié) 134
6.4 編程挑戰(zhàn) 134
#1:在正方形中填充圓形 134
#2:繪制Sierpiński三角 136
#3:探索Hénon函數(shù) 137
#4:繪制Mandelbrot集 138
第7章 解微積分問題 142
7.1 什么是函數(shù)? 142
7.1.1 函數(shù)的定義域和值域 143
7.1.2 常用數(shù)學(xué)函數(shù)概述 143
7.2 SymPy中的假設(shè) 144
7.3 計算函數(shù)極限 145
7.3.1 連續(xù)復(fù)利 147
7.3.2 瞬時變化率 147
7.4 函數(shù)求導(dǎo) 148
7.4.1 求導(dǎo)計算器 149
7.4.2 求偏導(dǎo)數(shù) 150
7.5 高階導(dǎo)數(shù)和最大最小值點 150
7.6 用梯度上升法求全局最大值 153
7.6.1 梯度上升法的通用程序 156
7.6.2 關(guān)于初始值的附加說明 157
7.6.3 步長和epsilon的角色 158
7.7 求函數(shù)積分 160
7.8 概率密度函數(shù) 162
7.9 本章內(nèi)容小結(jié) 164
7.10 編程挑戰(zhàn) 164
#1:證明函數(shù)在一點處的連續(xù)性 165
#2:梯度下降法的實現(xiàn) 165
#3:兩條曲線圍成的面積 165
#4:計算曲線的長度 166
后 記 168
下一步可以探索的事情 168
歐拉項目 168
Python文檔 168
參考書 169
獲取幫助 169
附錄A 軟件安裝 170
A.1 Microsoft Windows 171
升級SymPy 172
安裝matplotlib-venn 172
啟動Python Shell 172
A.2 Linux 172
升級SymPy 173
安裝matplotlib-venn 173
啟動Python Shell 173
A.3 Mac OS X 173
升級SymPy 176
安裝matplotlib-venn 176
啟動Python Shell 176
附錄B Python主題概覽 177
B.1 if __name__ == '__main__' 177
B.2 列表推導(dǎo)(List Comprehensions) 178
B.3 字典數(shù)據(jù)結(jié)構(gòu) 180
B.4 多個返回值(Multiple Return Values) 181
B.5 異常處理(Exception Handling) 183
指定多個異常類型 183
else代碼塊 184
B.6 在Python中讀取文件 185
一次性讀取所有行 186
指定一個文件名作為輸入 186
讀取文件時錯誤的處理 186
B.7 代碼重用 189