《计算机科学丛书MATLAB程序设计导论》[美]尤金尼・E.米哈伊洛夫(Eug | PDF下载|ePub下载
计算机科学丛书MATLAB程序设计导论 版权信息
- 出版社:机械工业出版社
- 出版时间:2019-05-01
- ISBN:9787111625988
- 条形码:9787111625988 ; 978-7-111-62598-8
计算机科学丛书MATLAB程序设计导论 本书特色
本书是一本关于MATLAB编程和数值方法的简明教程。书中通过引人入胜的例子提供实用的知识,从简单的概念开始,帮你构建用于建模、仿真和分析真实系统的技能集。此外,本书还简要概述了成功的科学或工程工作所必需的数值方法。本书内容丰富,示例简洁生动,既适合没有系统编程知识的初学者,也可以作为有一定科学研究和工程技术基础人员的指导书,还可以作为高等院校本科生的学习教材。 本书特色 ?面向科学家和工程师教授编程知识,采用问题驱动的教学方法,使用具有解释性和趣味性的示例。 ?强调实践方法,使用应知应会的信息,较少涉及技术细节。 ?利用科学和工程示例,展示所学概念在实际问题上的应用。 ?展示真实系统建模,由易到难逐步探索有挑战性的问题。 ?突出数据处理和分析在日常生活中的实际应用。
计算机科学丛书MATLAB程序设计导论 内容简介
本书分三个层次进行内容组织:计算基础、使用MATLAB解决日常生活问题、深入研究和扩展。计算基础部分除了介绍MATLAB的基础知识,还包含计算历史和编程语言的简要介绍,以及良好的编程实践。这部分内容凝练了大学中常开设的“计算机基础”和“计算机科学导论”等课程的精华。第二部分主要涉及线性代数方程求解、数值求导、求根算法等内容,利用高等数学和线性代数等课程的基本知识,简单快速地解决日常生活中的常见问题。*后一部分是关于MATLAB的深入研究和扩展,介绍了随机过程、蒙特卡洛仿真、优化问题和离散傅里叶变换等内容,当你深入到实际科学研究和工程项目时都会用到这方面的内容。
计算机科学丛书MATLAB程序设计导论 目录
出版者的话
译者序
前言
**部分计算基础
第1章计算机与编程语言简介2
1��1早期计算史2
1��2现代计算机3
1��3什么是编程3
1��4编程语言概述4
1��5计算机中的数字表示及其潜在问题5
1��5��1离散化――计算机的主要弱点5
1��5��2二进制表示6
1��5��3浮点数表示6
1��5��4结论7
1��6自学7
第2章MATLAB基础9
2��1MATLAB的图形用户界面9
2��2功能强大的MATLAB计算器11
2��2��1MATLAB的变量类型11
2��2��2内置函数和运算符12
2��2��3运算符的优先级13
2��2��4注释14
2��3高效编辑14
2��4使用帮助文档15
2��5矩阵16
2��5��1创建和访问矩阵元素16
2��5��2基本矩阵运算17
2��5��3字符串矩阵20
2��6冒号运算符20
2��7绘图21
2��8自学23
第3章布尔代数、条件语句和循环24
3��1布尔代数24
3��1��1MATLAB中布尔运算符的优先级25
3��1��2MATLAB布尔逻辑运算举例25
3��2比较运算符26
3��2��1向量比较26
3��2��2矩阵比较27
3��3条件语句27
3��3��1if-else-end语句27
3��3��2if语句的简短形式28
3��4等于语句的常见错误28
3��5循环28
3��5��1while循环28
3��5��2特殊命令――break和continue29
3��5��3for循环30
3��6自学31
第4章函数、脚本和良好的编程实践32
4��1动机引例32
4��1��1银行利率问题32
4��1��2飞行时间问题32
4��2脚本33
4��3函数35
4��4良好的编程实践37
4��4��1简化代码37
4��4��2试着预见非预期行为37
4��4��3运行测试用例38
4��4��4检查并清理输入参数39
4��4��5判断解是否符合实际40
4��4��6良好的编程实践总结40
4��5递归函数和匿名函数40
4��5��1递归函数40
4��5��2匿名函数41
4��6自学42
第二部分使用MATLAB求解日常问题
第5章线性代数方程组求解46
5��1风铃问题46
5��2MATLAB内置求解器48
5��2��1逆矩阵法48
5��2��2无逆矩阵计算的方法48
5��2��3选用哪种方法48
5��3用MATLAB求解风铃问题49
5��4示例:惠斯通电桥问题50
5��5自学52
第6章数据约简与拟合53
6��1数据约简与拟合的必要性53
6��2拟合的正式定义53
6��3数据拟合示例54
6��4参数不确定性估计56
6��5拟合结果评估56
6��6如何得到*优拟合58
6��6��1数据绘图60
6��6��2选择拟合模型60
6��6��3拟合参数的初始猜测61
6��6��4基于初始猜测的数据和模型绘制61
6��6��5拟合数据62
6��6��6拟合参数的不确定性评估63
6��7自学65
第7章数值导数67
7��1通过前向差分估计导数67
7��2数值导数的算法误差估计68
7��3通过中心差分估计导数69
7��4自学70
第8章求根算法71
8��1求根问题71
8��2试错法71
8��3二分法72
8��3��1二分法示例和测试用例74
8��3��2二分法代码的可能改进76
8��4算法收敛76
8��5试位法77
8��6割线法78
8��7牛顿拉弗森法79
8��7��1使用牛顿拉弗森法进行解析求导80
8��7��2使用牛顿拉弗森法进行数值求导81
8��8Ridders法81
8��9求根算法的陷阱82
8��10求根算法总结83
8��11MATLAB内置求根命令84
8��12自学84
第9章数值积分方法86
9��1积分问题描述86
9��2矩形法86
9��3梯形法89
9��4辛普森法90
9��5广义积分公式90
9��6蒙特卡罗积分91
9��6��1示例:计算池塘面积91
9��6��2朴素蒙特卡罗积分91
9��6��3蒙特卡罗积分推导91
9��6��4蒙特卡罗方法的算法误差92
9��7多维积分92
9��8蒙特卡罗多维积分94
9��9数值积分陷阱94
9��9��1使用大量的数据点94
9��9��2使用过少的数据点95
9��10MATLAB的积分函数95
9��11自学96
第10章数据插值98
10��1*近邻插值98
10��2线性插值99
10��3多项式插值101
10��4好的插值程序的准则102
10��5三次样条插值102
10��6MATLAB内置的插值方法104
10��7外推法104
10��8插值的非常规应用104
10��9自学105
第三部分深入研究并扩展科学家的工具箱
第11章随机数生成器和随机过程108
11��1统计和概率简介108
11��1��1离散事件的概率108
11��1��2概率密度函数108
11��2均匀随机分布109
11��3随机数生成器和计算机110
11��3��1线性同余生成器110
11��3��2随机数生成器周期111
11��4如何检验随机数生成器111
11��5MATLAB的内置随机数生成器113
11��6自学114
第12章蒙特卡罗仿真115
12��1钉板实验115
12��2抛硬币游戏117
12��3传染病传播118
12��4自学123
第13章优化问题125
13��1优化问题简介125
13��2一维优化126
13��2��1黄金分割*优搜索算法126
13��2��2一维*优MATLAB内置函数128
13��2��3一维优化示例128
13��3多维优化130
13��4组合优化135
13��4��1背包问题135
13��4��2旅行商问题138
13��5模拟退火算法143
13��6遗传算法150
13��7自学151
第14章常微分方程153
14��1常微分方程简介153
14��2边界条件154
14��3求解常微分方程的数值方法155
14��3��1欧拉方法155
14��3��2二阶Runge��Kutta方法(RK2)156
14��3��3四阶Runge��Kutta法(RK4)157
14��3��4其他数值求解器157
14��4刚性常微分方程及数值解的稳定性问题157
14��5MATLAB的内置常微分方程求解器159
14��6常微分方程示例159
14��6��1自由落体159
14��6��2空气阻
译者序
前言
**部分计算基础
第1章计算机与编程语言简介2
1��1早期计算史2
1��2现代计算机3
1��3什么是编程3
1��4编程语言概述4
1��5计算机中的数字表示及其潜在问题5
1��5��1离散化――计算机的主要弱点5
1��5��2二进制表示6
1��5��3浮点数表示6
1��5��4结论7
1��6自学7
第2章MATLAB基础9
2��1MATLAB的图形用户界面9
2��2功能强大的MATLAB计算器11
2��2��1MATLAB的变量类型11
2��2��2内置函数和运算符12
2��2��3运算符的优先级13
2��2��4注释14
2��3高效编辑14
2��4使用帮助文档15
2��5矩阵16
2��5��1创建和访问矩阵元素16
2��5��2基本矩阵运算17
2��5��3字符串矩阵20
2��6冒号运算符20
2��7绘图21
2��8自学23
第3章布尔代数、条件语句和循环24
3��1布尔代数24
3��1��1MATLAB中布尔运算符的优先级25
3��1��2MATLAB布尔逻辑运算举例25
3��2比较运算符26
3��2��1向量比较26
3��2��2矩阵比较27
3��3条件语句27
3��3��1if-else-end语句27
3��3��2if语句的简短形式28
3��4等于语句的常见错误28
3��5循环28
3��5��1while循环28
3��5��2特殊命令――break和continue29
3��5��3for循环30
3��6自学31
第4章函数、脚本和良好的编程实践32
4��1动机引例32
4��1��1银行利率问题32
4��1��2飞行时间问题32
4��2脚本33
4��3函数35
4��4良好的编程实践37
4��4��1简化代码37
4��4��2试着预见非预期行为37
4��4��3运行测试用例38
4��4��4检查并清理输入参数39
4��4��5判断解是否符合实际40
4��4��6良好的编程实践总结40
4��5递归函数和匿名函数40
4��5��1递归函数40
4��5��2匿名函数41
4��6自学42
第二部分使用MATLAB求解日常问题
第5章线性代数方程组求解46
5��1风铃问题46
5��2MATLAB内置求解器48
5��2��1逆矩阵法48
5��2��2无逆矩阵计算的方法48
5��2��3选用哪种方法48
5��3用MATLAB求解风铃问题49
5��4示例:惠斯通电桥问题50
5��5自学52
第6章数据约简与拟合53
6��1数据约简与拟合的必要性53
6��2拟合的正式定义53
6��3数据拟合示例54
6��4参数不确定性估计56
6��5拟合结果评估56
6��6如何得到*优拟合58
6��6��1数据绘图60
6��6��2选择拟合模型60
6��6��3拟合参数的初始猜测61
6��6��4基于初始猜测的数据和模型绘制61
6��6��5拟合数据62
6��6��6拟合参数的不确定性评估63
6��7自学65
第7章数值导数67
7��1通过前向差分估计导数67
7��2数值导数的算法误差估计68
7��3通过中心差分估计导数69
7��4自学70
第8章求根算法71
8��1求根问题71
8��2试错法71
8��3二分法72
8��3��1二分法示例和测试用例74
8��3��2二分法代码的可能改进76
8��4算法收敛76
8��5试位法77
8��6割线法78
8��7牛顿拉弗森法79
8��7��1使用牛顿拉弗森法进行解析求导80
8��7��2使用牛顿拉弗森法进行数值求导81
8��8Ridders法81
8��9求根算法的陷阱82
8��10求根算法总结83
8��11MATLAB内置求根命令84
8��12自学84
第9章数值积分方法86
9��1积分问题描述86
9��2矩形法86
9��3梯形法89
9��4辛普森法90
9��5广义积分公式90
9��6蒙特卡罗积分91
9��6��1示例:计算池塘面积91
9��6��2朴素蒙特卡罗积分91
9��6��3蒙特卡罗积分推导91
9��6��4蒙特卡罗方法的算法误差92
9��7多维积分92
9��8蒙特卡罗多维积分94
9��9数值积分陷阱94
9��9��1使用大量的数据点94
9��9��2使用过少的数据点95
9��10MATLAB的积分函数95
9��11自学96
第10章数据插值98
10��1*近邻插值98
10��2线性插值99
10��3多项式插值101
10��4好的插值程序的准则102
10��5三次样条插值102
10��6MATLAB内置的插值方法104
10��7外推法104
10��8插值的非常规应用104
10��9自学105
第三部分深入研究并扩展科学家的工具箱
第11章随机数生成器和随机过程108
11��1统计和概率简介108
11��1��1离散事件的概率108
11��1��2概率密度函数108
11��2均匀随机分布109
11��3随机数生成器和计算机110
11��3��1线性同余生成器110
11��3��2随机数生成器周期111
11��4如何检验随机数生成器111
11��5MATLAB的内置随机数生成器113
11��6自学114
第12章蒙特卡罗仿真115
12��1钉板实验115
12��2抛硬币游戏117
12��3传染病传播118
12��4自学123
第13章优化问题125
13��1优化问题简介125
13��2一维优化126
13��2��1黄金分割*优搜索算法126
13��2��2一维*优MATLAB内置函数128
13��2��3一维优化示例128
13��3多维优化130
13��4组合优化135
13��4��1背包问题135
13��4��2旅行商问题138
13��5模拟退火算法143
13��6遗传算法150
13��7自学151
第14章常微分方程153
14��1常微分方程简介153
14��2边界条件154
14��3求解常微分方程的数值方法155
14��3��1欧拉方法155
14��3��2二阶Runge��Kutta方法(RK2)156
14��3��3四阶Runge��Kutta法(RK4)157
14��3��4其他数值求解器157
14��4刚性常微分方程及数值解的稳定性问题157
14��5MATLAB的内置常微分方程求解器159
14��6常微分方程示例159
14��6��1自由落体159
14��6��2空气阻
计算机科学丛书MATLAB程序设计导论 作者简介
尤金尼?E.米哈伊洛夫(Eugeniy E. Mikhailov) 得克萨斯农工大学物理系博士,MIT博士后,现为威廉与玛丽学院教师。他一直为物理、数学和计算机专业的本科生讲授“科学家的实用计算”课程。