新書推薦:
《
我从何来:自我的心理学探问
》
售價:HK$
119.9
《
失败:1891—1900 清王朝的变革、战争与排外
》
售價:HK$
85.8
《
送你一匹马(“我不求深刻,只求简单。”看三毛如何拒绝内耗,为自己而活)
》
售價:HK$
64.9
《
秦汉史讲义
》
售價:HK$
151.8
《
万千心理·我的精神分析之道:复杂的俄狄浦斯及其他议题
》
售價:HK$
104.5
《
荷马:伊利亚特(英文)-西方人文经典影印21
》
售價:HK$
107.8
《
我的心理医生是只猫
》
售價:HK$
49.5
《
巴拉吉预言
》
售價:HK$
74.8
|
編輯推薦: |
本书是一本关于MATLAB编程和数值方法的简明教程。书中通过引人入胜的例子提供实用的知识,从简单的概念开始,帮你构建用于建模、仿真和分析真实系统的技能集。此外,本书还简要概述了成功的科学或工程工作所必需的数值方法。本书内容丰富,示例简洁生动,既适合没有系统编程知识的初学者,也可以作为有一定科学研究和工程技术基础人员的指导书,还可以作为高等院校本科生的学习教材。
本书特色
面向科学家和工程师教授编程知识,采用问题驱动的教学方法,使用具有解释性和趣味性的示例。
强调实践方法,使用应知应会的信息,较少涉及技术细节。
利用科学和工程示例,展示所学概念在实际问题上的应用。
展示真实系统建模,由易到难逐步探索有挑战性的问题。
突出数据处理和分析在日常生活中的实际应用。
|
內容簡介: |
本书分三个层次进行内容组织:计算基础、使用MATLAB解决日常生活问题、深入研究和扩展。计算基础部分除了介绍MATLAB的基础知识,还包含计算历史和编程语言的简要介绍,以及良好的编程实践。这部分内容凝练了大学中常开设的“计算机基础”和“计算机科学导论”等课程的精华。第二部分主要涉及线性代数方程求解、数值求导、求根算法等内容,利用高等数学和线性代数等课程的基本知识,简单快速地解决日常生活中的常见问题。*后一部分是关于MATLAB的深入研究和扩展,介绍了随机过程、蒙特卡洛仿真、优化问题和离散傅里叶变换等内容,当你深入到实际科学研究和工程项目时都会用到这方面的内容。
|
關於作者: |
尤金尼•E.米哈伊洛夫(Eugeniy E. Mikhailov) 得克萨斯农工大学物理系博士,MIT博士后,现为威廉与玛丽学院教师。他一直为物理、数学和计算机专业的本科生讲授“科学家的实用计算”课程。
|
目錄:
|
出版者的话
译者序
前言
第一部分计算基础
第1章计算机与编程语言简介2
11早期计算史2
12现代计算机3
13什么是编程3
14编程语言概述4
15计算机中的数字表示及其潜在问题5
151离散化——计算机的主要弱点5
152二进制表示6
153浮点数表示6
154结论7
16自学7
第2章MATLAB基础9
21MATLAB的图形用户界面9
22功能强大的MATLAB计算器11
221MATLAB的变量类型11
222内置函数和运算符12
223运算符的优先级13
224注释14
23高效编辑14
24使用帮助文档15
25矩阵16
251创建和访问矩阵元素16
252基本矩阵运算17
253字符串矩阵20
26冒号运算符20
27绘图21
28自学23
第3章布尔代数、条件语句和循环24
31布尔代数24
311MATLAB中布尔运算符的优先级25
312MATLAB布尔逻辑运算举例25
32比较运算符26
321向量比较26
322矩阵比较27
33条件语句27
331if-else-end语句27
332if语句的简短形式28
34等于语句的常见错误28
35循环28
351while循环28
352特殊命令——break和continue29
353for循环30
36自学31
第4章函数、脚本和良好的编程实践32
41动机引例32
411银行利率问题32
412飞行时间问题32
42脚本33
43函数35
44良好的编程实践37
441简化代码37
442试着预见非预期行为37
443运行测试用例38
444检查并清理输入参数39
445判断解是否符合实际40
446良好的编程实践总结40
45递归函数和匿名函数40
451递归函数40
452匿名函数41
46自学42
第二部分使用MATLAB求解日常问题
第5章线性代数方程组求解46
51风铃问题46
52MATLAB内置求解器48
521逆矩阵法48
522无逆矩阵计算的方法48
523选用哪种方法48
53用MATLAB求解风铃问题49
54示例:惠斯通电桥问题50
55自学52
第6章数据约简与拟合53
61数据约简与拟合的必要性53
62拟合的正式定义53
63数据拟合示例54
64参数不确定性估计56
65拟合结果评估56
66如何得到最优拟合58
661数据绘图60
662选择拟合模型60
663拟合参数的初始猜测61
664基于初始猜测的数据和模型绘制61
665拟合数据62
666拟合参数的不确定性评估63
67自学65
第7章数值导数67
71通过前向差分估计导数67
72数值导数的算法误差估计68
73通过中心差分估计导数69
74自学70
第8章求根算法71
81求根问题71
82试错法71
83二分法72
831二分法示例和测试用例74
832二分法代码的可能改进76
84算法收敛76
85试位法77
86割线法78
87牛顿拉弗森法79
871使用牛顿拉弗森法进行解析求导80
872使用牛顿拉弗森法进行数值求导81
88Ridders法81
89求根算法的陷阱82
810求根算法总结83
811MATLAB内置求根命令84
812自学84
第9章数值积分方法86
91积分问题描述86
92矩形法86
93梯形法89
94辛普森法90
95广义积分公式90
96蒙特卡罗积分91
961示例:计算池塘面积91
962朴素蒙特卡罗积分91
963蒙特卡罗积分推导91
964蒙特卡罗方法的算法误差92
97多维积分92
98蒙特卡罗多维积分94
99数值积分陷阱94
991使用大量的数据点94
992使用过少的数据点95
910MATLAB的积分函数95
911自学96
第10章数据插值98
101最近邻插值98
102线性插值99
103多项式插值101
104好的插值程序的准则102
105三次样条插值102
106MATLAB内置的插值方法104
107外推法104
108插值的非常规应用104
109自学105
第三部分深入研究并扩展科学家的工具箱
第11章随机数生成器和随机过程108
111统计和概率简介108
1111离散事件的概率108
1112概率密度函数108
112均匀随机分布109
113随机数生成器和计算机110
1131线性同余生成器110
1132随机数生成器周期111
114如何检验随机数生成器111
115MATLAB的内置随机数生成器113
116自学114
第12章蒙特卡罗仿真115
121钉板实验115
122抛硬币游戏117
123传染病传播118
124自学123
第13章优化问题125
131优化问题简介125
132一维优化126
1321黄金分割最优搜索算法126
1322一维最优MATLAB内置函数128
1323一维优化示例128
133多维优化130
134组合优化135
1341背包问题135
1342旅行商问题138
135模拟退火算法143
136遗传算法150
137自学151
第14章常微分方程153
141常微分方程简介153
142边界条件154
143求解常微分方程的数值方法155
1431欧拉方法155
1432二阶RungeKutta方法(RK2)156
1433四阶RungeKutta法(RK4)157
1434其他数值求解器157
144刚性常微分方程及数值解的稳定性问题157
145MATLAB的内置常微分方程求解器159
146常微分方程示例159
1461自由落体159
1462空气阻
|
內容試閱:
|
目标读者
本书适合任何想学习MATLAB编程的读者。如果你正在寻求关于编程、MATLAB和数值方法的简明易懂的教程,那本书正好适合你。我们希望读者能在这里找到处理日常计算和程序设计问题的必要知识。即使是经验丰富的读者也能从书中得到对常见方法的有用见解,找到可能遇到的困惑问题的解释。
我们从简单的概念开始,帮你逐步掌握建模、模拟和分析真实系统的技能。此外,还概述了成功的科学或工程工作所必需的数值方法。本书帮你熟悉计算的“学问”,这样当你决定学习高级技术时,会知道该学习什么。
本书是根据“科学家的实用计算”(Practical Computing for Scientists)课程材料编写的,该课程为威廉与玛丽学院开设的一学期课程,教学对象为尚未确定主修学科的学生,以及物理、神经科学、生物学、计算机科学、应用数学和统计学或化学等专业的学生。成功学习这门课的学生水平也不相同,有的是大一新生,有的是大四毕业生,有的介于两者之间。
为什么选择MATLAB
我们选择MATLAB作为编程语言,是因为MATLAB对一些已实现的功能有很好的平衡,这些功能对科学家来说非常重要又易于学习。MATLAB为用户隐藏了许多底层细节,你不需要考虑变量类型、编译过程等。MATLAB使用起来就是这么便利,它可以在不跟踪每个元素的情况下对整个数组进行计算,这正是MATLAB的核心。
从教师的角度来说,你不必为学生安装MATLAB而担心。软件安装过程很简单,学生都能独立完成。更重要的是,MATLAB在Windows、Mac和Linux等操作系统中的界面和工作方式都一样,在不同计算机上产生的结果完全相同。
从学生的角度来说,MATLAB可能是从事工程或科学研究工作最常用的编程语言。因此,如果你现在学习MATLAB,或许就不需要再强迫自己学习其他行业标准编程语言了。
MATLAB的主要缺点是价格昂贵,如果学校或单位不能提供,就得高价购买了。但这不是一个大问题,你可以选择免费的替代软件GNU Octave。本书所有章节的练习,除了数据拟合外都可以通过Octave完成。Octave中的数据拟合使用了一套不同的命令,其他部分和MATLAB的工作方式相同(对于一些高级选项可能需要稍作调整)。
本书不包含哪些内容
本书没有广泛介绍MATLAB命令,因为MATLAB已经有一个很好的手册,我们没有必要再编写一本,也无须重做一个在线教程。
本书也不能代替讲解数值方法的来龙去脉的书。我们尽可能讨论可以用数值方法完成的有趣的事情,而不必关心最有效的实现方法。然而,这本书的开头是个例外——通过数值算法的实现解释了一些编程基础知识,这些算法大多是MATLAB的内置函数。
如何阅读本书
如果你不是编程新手,可以跳过第一部分的大部分内容,但是要确保熟悉其中的元素操作、数组操作与数组元素操作之间的区别以及数组切片等内容。
如果你是科学家,那么绘图和数据拟合是必须掌握的。请务必阅读第6章。如果需要学习关于数据分析的重要内容,也需要学习这一章。
第三部分在某种程度上可作为自选内容,尽管我们十分推荐优化问题一章即第13章。令人惊讶的是有很多问题本质上都属于优化问题,可以用第13章提出的方法来解决。可能在本科高年级的课堂上才会用到这部分内容。
随着编程水平的提高,请重新阅读44节,并尝试从中学习更多技术。
数据文件和代码链接
本书所有MATLAB代码及数据文件可在网站http:physics.wm.eduprogramming_with_MATLAB_book下载。本书英文电子版中直接给出了相关文件的链接地址。
关于本书教辅资源,只有使用本书作为教材的教师才可以申请,需要的教师可到原出版社网站注册下载,若有问题,请与泰勒·弗朗西斯集团北京代表处联系,电话010-58452806,电子邮件janet.zheng@tanfchinacom。——编辑注
|
|