内容简介
本书《MATLAB 数值计算(2013修订版)》 经 MATLAB、 数值分析和科学计算之父 Cleve Moler 本人正式授权, 是 Numerical Computation with MATLAB 2008/2013 修订版的中译本。 该书不以深奥的数值分析理论为内容, 而以易于理解的数学思维和便于掌握的数学计算编程技术为
教学素材。 该书摒弃以往数值分析教材中常见的程式性定理、 定理证明、 收敛性理论和冗长公式推演。该书数值算法原理的表述, 言简意骇、 层次丰富、 见解独到、 精辟; 数学计算软件的教学内容易学易懂, 构思巧妙而循循善诱。
全书正文共 11 章, 包括: MATLAB 入门、 线性方程组、 插值、 零点和根、 二乘、定积分、 常微分方程、 随机数、 傅立叶分析、 特征值和奇异值、 偏微分方程。 每章后都配置了大量习题。与本书正文及习题匹配的 70 多个 M 文件都由 Cleve Moler 本人编写, 并被其本人赞为以自傲的软件作品。 为读者学习、 查阅需要, 本书还编有 4 个附录: MATLAB功用释要、 MATLAB 命令及示教文件名索引 、 中文关键词索引和 Cleve Moler 获 2012 年度计算机先驱奖的简短资料。 该书所有代码都适配于 MATLAB R2014a。
该书是 Cleve Moler 专为高校研究生、 本科生编写的数值计算、 MATLAB 教材。 该书也是所有 MATLAB 用户理解 MATLAB 算法原理的指南, 也是广大科技人员自学、 精读或随时查阅的信赖的参考书。
目录
第1 章MATLAB 入门 1
1.1 黄金分割比. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 斐波那契数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 分形蕨. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 魔方矩阵. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.5 密码技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.6 数论问题3n+1 序列. . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.7 浮点运算. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.8 更多阅读. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
习题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
第2 章线性方程 55
2.1 解线性方程组. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.2 MATLAB 反斜杠矩阵左除算符. . . . . . . . . . . . . . . . . . . . . . 55
2.3 3 3 方程组算例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.4 排列矩阵和三角矩阵. . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.5 LU 分解. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.6 选主元的必要性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.7 示教M 文件lutx、bslashtx、lugui . . . . . . . . . . . . . . . . . . . 63
2.8 舍入误差的影响. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.9 范数和条件数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
2.10 稀疏矩阵和带状矩阵. . . . . . . . . . . . . . . . . . . . . . . . . . 75
2.11 PageRank 和马尔可夫链. . . . . . . . . . . . . . . . . . . . . . . . . 77
2.12 更多阅读. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
习题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
第3 章插值 97
3.1 插值多项式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.2 分段线性插值. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.3 分段三次埃尔米特插值. . . . . . . . . . . . . . . . . . . . . . . . . 104
3.4 保形分段三次插值. . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
3.5 三次样条. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
ii 目录
3.6 示教M 文件pchiptx, splinetx . . . . . . . . . . . . . . . . . . . . . . 111
3.7 插值计算交互界面interpgui . . . . . . . . . . . . . . . . . . . . . . . 113
习题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
第4 章零点和根 123
4.1 二分法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.2 牛顿法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.3 牛顿法失常算例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126<
摘要与插图
2012年仲秋,我作为Moler十年前访华晤面过的熟人,再次受MathWorks中国公司的邀请,出席CleveMoler的访华欢迎会。在欢迎午餐席间,Moler表达了希望在中国见到由他本人授权的著作中译本的强烈意愿。我欣然允诺翻译,随即Moler把NumericalComputingwithMATLAB的翻译工作委托于我,并将出版权授予北京航空航天大学出版社。对此,我深感荣幸,因为从MathWorks网站次出现此书电子版起的这些年里,我一直持有翻译此书的强烈冲动和期盼译著在中国出版发行的迫切愿望。我喜欢此书,因为NumericalComputingwithMATLAB一书,既能让读者初读时感受易学易懂之愉悦,又能让读者细读时领受渗透于字里码间的睿智点化;既能使读者从MATLAB中获得的数值解算能力,又可使读者欣赏到浮点计算之数学优雅。
我推崇此书,因为NumericalComputingwithMATLAB的作者是CleveMoler,一个始终怀揣那朴实的、“让学生学数学更轻松”理念的大学教授,一个始终怀揣那“让他人心、便使用高质量数学计算软件”平常心的科学家1。正是这济世理念驱使他成为了“高性能数值计算测试标准的LINPACK、EISPACK软件”的主要贡献者,驱使他发明了“对世界工程教学和科研领域产生不可估量深远影响的MATLAB”2,使他成为了世界的现代数值分析和科学计算的一位创始人、给计算世界打下深深烙印的数学奇才3。他是美国工业和应用数学学会SIAM前、美国工程院院士、2012年IEEE计算机先驱奖获得者。然而,他喜欢自称“编程的地地道道骇客(hacker)”,趣喻自己是“围绕数学家和计算机科学家双核作Lorenz混沌运动”的人1。
我赞赏此书,因为NumericalComputingwithMATLAB一书是CleveMoler从其前20年教学生涯和后20年专事MATLAB经验中升华而成的原创珍品,是凝聚其对数学应用本质性见解、展示未来教学方向的数值计算教材之圭臬。该书物化地展现了,CleveMoler对数值分析和科学计算教学的如下卓识真见1:?在科学和技术计算中,存在一个既不被数学覆盖、也不被计算机学科和其它应用学科覆盖的共同知识体系。它是涉及数值分析、科学编程、计算机图形和数据库管理等内容的独立知识体系。
对于科技领域的非数学从业人员而言,他们所需要解决的具体问题,往往不是单一的数学问题,而是更大更复杂的综合性问题。这些问题的解决需要多种数学知识和数值计算方法。在此境况下,他们不可能、也不需要知道每种数值方法的微妙细节和具体公式,而只需要知道如何调用各种计算软件去解决面前不可回避的数学问题,以腾出更多的时间和精力,专注于那综合性的具体设计目标。就像在一个具体问题中遇到需要计算的正弦、余弦函数值时,人们并不会对近似计算正弦、余弦函数值的具体公式和执行细节刻意刨根问底,而只是径直调用它们的计算命令。
NumericalComputingwithMATLAB由美国工业和应用数学学会SIAM于2004年出第一版,2008年出修订版。此书在2013年经CleveMole再次修订,且在其亲自授权后于不久前由北京航空航天大学出版社出版。该书的章节标题不仅涵盖常见数值分析教材的所有章节标题,而且包含“随机数”和“偏微分方程”两章。NumericalComputingwithMATLAB的之处在于:该书是由具有数值分析、科学计算之父和MATLAB之父双重身份的CleveMoler写成的。该书不以深奥的数值分析理论为内容,而以向读者提供易于理解的数学思维、易于掌握的数学编程技术为宗旨。因此,在该书中,没有某些数值分析教材中那定理和定理证明的重峦叠嶂,没有那冗长公式和满纸推演的浓雾密云,也没有浮点误差理论的浓墨重彩。在书中,能见到的是那信手拈来的博引旁证、高屋建瓴的评价结论,能见