书籍详情
Python数学编程
作者:阿米特·萨哈 著,许杨毅,刘旭华 译
出版社:人民邮电出版社
出版时间:2020-01-01
ISBN:9787115522719
定价:¥59.00
购买这本书可以去
内容简介
本书将程序设计和数学巧妙地结合起来,从简单的项目开始,应用Python解决高中和大学低年级的数学问题,比如几何、概率、统计以及微积分等,为进一步学习更复杂的数学内容以及Python编程语言打下坚实的基础。本书也可作为Python初学者的入门读物,通过学习书中的示例程序和完成那些编程挑战,读者可以提高自己的编程能力和技巧。
作者简介
关于作者Amit Saha是一位曾在Red Hat和Sun Microsystems公司工作过的软件工程师。他创办并维护着Fedora Scientific,一个为科学和教育用户服务的Linux发行版。他也是Prentice Hall出版社《写下你的第一个程序》(Write Your First Program)一书的作者。关于译者许杨毅,现任商汤智慧城市事业群产品总监,曾是京东云高级总监,百度系统部和新浪业务运维负责人,UCloud运营平台部总监和产品市场部副总裁,资深的业务架构师、SRE专家、大数据工程和云计算架构顾问。曾翻译《贝叶斯思维:统计建模的Python学习法》一书。刘旭华,现为中国农业大学理学院应用数学系副教授,北京理工大学博士,美国北卡罗来纳大学教堂山分校访问学者,主要从事数理统计、数据科学、数学与统计软件等领域的教学与科研工作,主持和参与多项国家自然科学基金、北京市自然科学基金项目。曾翻译《R语言统计入门(第2版)》《数据科学实战手册(第2版)》等图书。
目录
第 1章 处理数字1
1.1 基本数学运算 1
1.2 标签:给数字命名 3
1.3 不同类型的数字 4
1.3.1 分数的操作 4
1.3.2 复数 5
1.4 获取用户输入 6
1.4.1 处理异常和无效输入 8
1.4.2 将分数和复数作为输入 9
1.5 编写一个数学计算程序 10
1.5.1 计算整数因子 10
1.5.2 生成乘法表 12
1.5.3 转换测量单位 14
1.5.4 求二次方程的根 16
1.6 本章内容小结 18
1.7 编程挑战 19
#1:偶数奇数自动售货机 19
#2:增强型乘法表生成器 19
#3:增强型单位转换器 19
#4:分数计算器 19
#5:为用户设置退出选项 20
第 2章 数据可视化 23
2.1 了解笛卡儿坐标平面 23
2.2 使用列表和元组 24
2.3 用matplotlib绘图 26
2.3.1 图上的标记 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 本章内容小结 44
2.6 编程挑战 44
#1:温度如何变化 45
#2:探索二次函数的可视化 45
#3:增强型抛物轨迹比较程序 46
#4:可视化你的支出 46
#5:探索斐波那契序列与黄金比例 48
第3章 数据的统计学特征 50
3.1 计算均值 50
3.2 计算中位数 52
3.3 计算众数并创建频数表 54
3.3.1 寻找最常见的元素 54
3.3.2 计算众数 55
3.3.3 创建频数表 57
3.4 测量离散度 59
3.4.1 计算一组数字的极差 59
3.4.2 计算方差和标准差 60
3.5 计算两个数据集之间的相关性 62
3.5.1 计算相关系数 63
3.5.2 高中成绩和大学入学考试成绩 64
3.6 散点图 67
3.7 从文件中读取数据 68
3.7.1 从文本文件中读取数据 69
3.7.2 从CSV文件中读取数据 70
3.8 本章内容小结 73
3.9 编程挑战 73
#1:更好的相关系数计算程序 73
#2:统计计算器 73
#3:用其他CSV数据做实验 73
#4:计算百分位数 74
#5:创建分组频数表 74
第4章 用SymPy包解代数和符号数学问题 76
4.1 定义符号和符号运算 76
4.2 使用表达式 78
4.2.1 分解和展开表达式 78
4.2.2 使表达式整齐输出 79
4.2.3 输出级数 80
4.2.4 用值替代符号 81
4.2.5 将字符串转换为数学表达式 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 多函数图形绘制 92
4.5 本章内容小结 94
4.6 编程挑战 94
#1:寻找因子 94
#2:图形方程求解器 94
#3:级数求和 94
#4:解单变量不等式 95
第5章 集合与概率 98
5.1 什么是集合? 98
5.1.1 构建集合 99
5.1.2 子集、超集与幂集 100
5.1.3 集合运算 102
5.2 概率 106
5.2.1 事件A或事件B发生的概率 108
5.2.2 事件A与事件B同时发生的概率 109
5.2.3 生成随机数 109
5.2.4 非均匀随机数 112
5.3 本章内容小结 114
5.4 编程挑战 114
#1:使用文氏图来可视化集合之间的关系 114
#2:大数定律 117
#3:掷多少次硬币会输光你的钱? 117
#4:洗牌 118
#5:估计一个圆的面积 118
第6章 绘制几何图形和分形 120
6.1 使用matplotlib的patches绘制几何图形 120
6.1.1 绘制一个圆 122
6.1.2 创建动画图形 123
6.1.3 抛物轨迹动画演示 125
6.2 绘制分形 127
6.2.1 平面上点的变换 127
6.2.2 绘制Barnsley蕨类植物 131
6.3 本章内容小结 134
6.4 编程挑战 134
#1:在正方形中填充圆形 134
#2:绘制Sierpiński三角 136
#3:探索Hénon函数 137
#4:绘制Mandelbrot集 138
第7章 解微积分问题 142
7.1 什么是函数? 142
7.1.1 函数的定义域和值域 143
7.1.2 常用数学函数概述 143
7.2 SymPy中的假设 144
7.3 计算函数极限 145
7.3.1 连续复利 147
7.3.2 瞬时变化率 147
7.4 函数求导 148
7.4.1 求导计算器 149
7.4.2 求偏导数 150
7.5 高阶导数和最大最小值点 150
7.6 用梯度上升法求全局最大值 153
7.6.1 梯度上升法的通用程序 156
7.6.2 关于初始值的附加说明 157
7.6.3 步长和epsilon的角色 158
7.7 求函数积分 160
7.8 概率密度函数 162
7.9 本章内容小结 164
7.10 编程挑战 164
#1:证明函数在一点处的连续性 165
#2:梯度下降法的实现 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 列表推导(List Comprehensions) 178
B.3 字典数据结构 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
1.1 基本数学运算 1
1.2 标签:给数字命名 3
1.3 不同类型的数字 4
1.3.1 分数的操作 4
1.3.2 复数 5
1.4 获取用户输入 6
1.4.1 处理异常和无效输入 8
1.4.2 将分数和复数作为输入 9
1.5 编写一个数学计算程序 10
1.5.1 计算整数因子 10
1.5.2 生成乘法表 12
1.5.3 转换测量单位 14
1.5.4 求二次方程的根 16
1.6 本章内容小结 18
1.7 编程挑战 19
#1:偶数奇数自动售货机 19
#2:增强型乘法表生成器 19
#3:增强型单位转换器 19
#4:分数计算器 19
#5:为用户设置退出选项 20
第 2章 数据可视化 23
2.1 了解笛卡儿坐标平面 23
2.2 使用列表和元组 24
2.3 用matplotlib绘图 26
2.3.1 图上的标记 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 本章内容小结 44
2.6 编程挑战 44
#1:温度如何变化 45
#2:探索二次函数的可视化 45
#3:增强型抛物轨迹比较程序 46
#4:可视化你的支出 46
#5:探索斐波那契序列与黄金比例 48
第3章 数据的统计学特征 50
3.1 计算均值 50
3.2 计算中位数 52
3.3 计算众数并创建频数表 54
3.3.1 寻找最常见的元素 54
3.3.2 计算众数 55
3.3.3 创建频数表 57
3.4 测量离散度 59
3.4.1 计算一组数字的极差 59
3.4.2 计算方差和标准差 60
3.5 计算两个数据集之间的相关性 62
3.5.1 计算相关系数 63
3.5.2 高中成绩和大学入学考试成绩 64
3.6 散点图 67
3.7 从文件中读取数据 68
3.7.1 从文本文件中读取数据 69
3.7.2 从CSV文件中读取数据 70
3.8 本章内容小结 73
3.9 编程挑战 73
#1:更好的相关系数计算程序 73
#2:统计计算器 73
#3:用其他CSV数据做实验 73
#4:计算百分位数 74
#5:创建分组频数表 74
第4章 用SymPy包解代数和符号数学问题 76
4.1 定义符号和符号运算 76
4.2 使用表达式 78
4.2.1 分解和展开表达式 78
4.2.2 使表达式整齐输出 79
4.2.3 输出级数 80
4.2.4 用值替代符号 81
4.2.5 将字符串转换为数学表达式 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 多函数图形绘制 92
4.5 本章内容小结 94
4.6 编程挑战 94
#1:寻找因子 94
#2:图形方程求解器 94
#3:级数求和 94
#4:解单变量不等式 95
第5章 集合与概率 98
5.1 什么是集合? 98
5.1.1 构建集合 99
5.1.2 子集、超集与幂集 100
5.1.3 集合运算 102
5.2 概率 106
5.2.1 事件A或事件B发生的概率 108
5.2.2 事件A与事件B同时发生的概率 109
5.2.3 生成随机数 109
5.2.4 非均匀随机数 112
5.3 本章内容小结 114
5.4 编程挑战 114
#1:使用文氏图来可视化集合之间的关系 114
#2:大数定律 117
#3:掷多少次硬币会输光你的钱? 117
#4:洗牌 118
#5:估计一个圆的面积 118
第6章 绘制几何图形和分形 120
6.1 使用matplotlib的patches绘制几何图形 120
6.1.1 绘制一个圆 122
6.1.2 创建动画图形 123
6.1.3 抛物轨迹动画演示 125
6.2 绘制分形 127
6.2.1 平面上点的变换 127
6.2.2 绘制Barnsley蕨类植物 131
6.3 本章内容小结 134
6.4 编程挑战 134
#1:在正方形中填充圆形 134
#2:绘制Sierpiński三角 136
#3:探索Hénon函数 137
#4:绘制Mandelbrot集 138
第7章 解微积分问题 142
7.1 什么是函数? 142
7.1.1 函数的定义域和值域 143
7.1.2 常用数学函数概述 143
7.2 SymPy中的假设 144
7.3 计算函数极限 145
7.3.1 连续复利 147
7.3.2 瞬时变化率 147
7.4 函数求导 148
7.4.1 求导计算器 149
7.4.2 求偏导数 150
7.5 高阶导数和最大最小值点 150
7.6 用梯度上升法求全局最大值 153
7.6.1 梯度上升法的通用程序 156
7.6.2 关于初始值的附加说明 157
7.6.3 步长和epsilon的角色 158
7.7 求函数积分 160
7.8 概率密度函数 162
7.9 本章内容小结 164
7.10 编程挑战 164
#1:证明函数在一点处的连续性 165
#2:梯度下降法的实现 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 列表推导(List Comprehensions) 178
B.3 字典数据结构 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
猜您喜欢