您的浏览器不支持JavaScript,请开启后继续
编程数学

编程数学

  • 作者
  • 金玉子 主编 王剑、李亮 副主编

《编程数学》通过数学和算法方面的编程案例,介绍了数学方法对解决生活中问题的帮助,例如消防所选址问题、旅行商问题、蒙特卡罗模拟法、分形构造问题等。本书对提出的问题在开拓计算思维的基础上精巧求解,注重编程算法思路的引导与技巧的综合运用,并展示程序运行结果。 本书适合编程零基础者参考阅读。


  • ¥42.00

ISBN: 978-7-122-36082-3

版次: 1

出版时间: 2020-10-01

图书介绍

ISBN:978-7-122-36082-3

语种:汉文

开本:16

出版时间:2020-10-01

装帧:平

页数:120

编辑推荐

1.案例丰富且贴近生活 2.趣味数学与程序设计交汇融合,用数学的方法解决生活中的问题

图书前言

这本《编程数学》是数学和编程代码的结合,体现了数学的严密性和计算机程序在短时间内进行大容量计算能力的融合效果。目前很多学生在学习数学这门重要却又枯燥而抽象的学科时,感到非常痛苦,因此,我们编写这本《编程数学》的初衷是让数学可实验、可感官、可理解。通过对编程数学的了解,学生能够进一步了解生活中常见的数学问题,以及学会如何用编程的方法来解决这些问题。本书通过不同类型的程序案例,帮助学生加深对数学概念和方法的理解,同时也培养了学生的编程算法思维和编程能力。
学生在用编写程序来解决问题的过程中,通过计算机的直观、具象化演绎,从原理和本质上把数学概念“吃透”。在求解的过程中,学生会学到很多超前的数学知识,慢慢形成一种同龄人不具备的高维解题视角能力,对数学概念的理解也更加深刻。另外,编程可以提升逻辑思维、演绎推理能力,这些也是学习数学的必备能力。
著名数学家李大潜教授说:“数学是一门重思考与理解、重严格的训练,是充满创造性的科学,只有掌握了数学的思想方法和精神实质,才能由不多的几个公式演绎出千变万化的生动结论,显示出无穷无尽的威力。”
编程也是如此,那些编程能力出色的学生,在解决问题的过程中,他们的思路会越来越清晰,慢慢就养成了计算机解决问题的思维。举个例子,在画圆、画正方形、画五角星的时候,那些通过使用计算机语言将圆、正方形、五角星画出来的学生要比单纯用手画出这些图形的学生具备更强的逻辑思维能力,同时培养了他们的高维解题能力,并使他们对几何数学概念的理解更加深刻。
本课程所使用的计算机语言为Octave。Octave为一种科学计算软件,它可以解决线性与非线性的数值运算问题,并可将计算结果可视化。
在本教材第1章,我们将介绍Octave的具体安装方法。在后面的几章中,介绍使用Octave软件来建立存在于我们生活中的数学模型,并使其得以运用,分别是第2章的消防所选址问题,第3章的旅行商问题,第4章的蒙特卡罗模拟法和第5章的分形构造问题。
最后,我们相信本书的出版能够在一定程度上推动我国数学编程教育的发展,并起到锻炼学生创造力和想象力、培养学生探索和创新精神以及启发学生独立思考能力的作用。
由于自身的知识水平和认识水平有限,书中难免有不妥之处,恳请读者批评、指正。

编者
2020年3月

精彩书摘

《编程数学》通过数学和算法方面的编程案例,介绍了数学方法对解决生活中问题的帮助,例如消防所选址问题、旅行商问题、蒙特卡罗模拟法、分形构造问题等。本书对提出的问题在开拓计算思维的基础上精巧求解,注重编程算法思路的引导与技巧的综合运用,并展示程序运行结果。
本书适合编程零基础者参考阅读。

目录

第1章 Octave的安装和使用001
1.1 Octave的下载 / 002
1.2 Octave的安装 / 004

第2章 消防所选址问题013
2.1 出租车距离的定义和例题 / 014
2.1.1 什么是出租车距离 / 014
2.1.2 出租车距离的计算方法 / 014
2.1.3 计算出租车距离 / 015
2.1.4 寻找X的最佳位置 / 016
2.1.5 引用坐标概念计算出租车距离 / 016
2.1.6 利用坐标计算出租车距离 / 017
2.1.7 将坐标一般化计算出租车距离 / 018
2.1.8 目的地数量众多时的出租车距离计算 / 018
2.1.9 有没有更简单的方法 / 019
2.2 用Octave寻找消防所的最佳位置 / 019
2.2.1 本章中使用的Octave的语句 / 019
2.2.2 随机点与特定点的出租车距离计算 / 026
2.2.3 寻找随机向量中的最小值 / 029
2.2.4 寻找随机矩阵中的最小值 / 031
2.2.5 寻找消防所的最佳位置 / 033
思考题 / 037

第3章 旅行商问题039 
3.1 什么是旅行商问题 / 040
3.2 用Octave找出快递的最短配送路径 / 042
3.2.1 本章中使用的Octave的语句 / 042
3.2.2 寻找快速配送路径 / 052
3.2.3 最近处邻居算法 / 053
3.2.4 利用遗传算法寻找最优路径1 / 057
3.2.5 利用遗传算法寻找最优路径2 / 058

第4章 蒙特卡罗模拟法 067
4.1 概率:抛掷硬币、掷骰子 / 068
4.1.1 抛掷硬币 / 068
4.1.2 掷骰子 / 068
4.2 用Octave实现蒙特卡罗模拟 / 069
4.2.1 蒙特卡罗模拟法 / 069
4.2.2 计算机骰子制作 / 070
4.2.3 飞镖游戏 / 073
4.2.4 图形重叠区域面积的求解 / 075
4.2.5 随机活动的国际象棋棋子的位置查找 / 081
4.2.6 一维线段上任意两点之间的距离问题 / 085
4.2.7 两点间距离的概率分布情况 / 088
4.2.8 二维空间中两点间的距离问题 / 088
4.2.9 两点间距离的概率分布情况 / 092
4.2.10 三维空间中两点间的距离问题 / 092

第5章 分形构造问题 097
5.1 何谓分形 / 098
5.2 运用Octave以编码实现分形构造 / 098
5.2.1 本章中使用的Octave的语句 / 098
5.2.2 旋转矩阵 / 100
5.2.3 递归函数 / 102
5.2.4 三角形的旋转 / 104
5.2.5 四边形的旋转 / 106
5.2.6 六边形的旋转 / 109
5.2.7 分形树 / 112
5.2.8 直角三角形的相似比 / 115
5.2.9 等比数列以及等比数列的和 / 115
5.2.10 毕达哥拉斯树 / 116

参考文献 / 120

发送电子邮件联系我们