标题：MATLAB语言常用算法程序集（第2版）
图书信息
MATLAB精品丛书  MATLAB语言常用算法程序集（第2版）
龚纯，王正林编著
ISBN 978-7-121-12962-9
2011年3月出版
定价：79.00元（含光盘1张）
16开
564 页
宣传语
富有代表性的算法
富有指导性的编程
富有层次性的分析
畅销书升级版
内 容 简 介
本书精选了科学和工程中常用的200余个算法，全部采用MATLAB语言编程实现，并结合实例对算法程序进行验证和分析。本书分为上下两篇，上篇为MATLAB基础篇，主要介绍MATLAB的基本功能和操作以及MATLAB程序设计的入门知识；下篇为算法程序篇，主要讲述以下方面常用算法的MATLAB实现，包括插值、函数逼近、矩阵特征值计算、数值微分、数值积分、方程求根、非线性方程组求解、解线性方程组的直接法、解线性方程组的迭代法、随机数生成、特殊函数计算、常微分方程的初值问题、偏微分方程的数值解法、数据统计和分析。
本书适用于初、中、高级MATLAB用户，既可以作为使用MATLAB的高等院校师生的教学用书或参考书，又可以供广大科研人员和工程技术人员参考。
让这书给力！
——代再版前言
本书作为市场上为数不多的一本MATLAB算法程序书，内容全面、讲解细致、算法程序丰富，第1版得到了读者一致的肯定与好评，被多所院校选作数学、计算机类课程的参考书，许多读者当作实用的工具书收藏起来。
读者点评
读者对第1版总的评价是给力，下面是摘录自网络的12条评论，既是对我们工作的赞扬，同时也是对我们的鞭策！
……这本书不是教你如何用MATLAB，而是让你像用字典一样方便地查找工具函数。对于工程人员是一本不错的书籍，当然值得收藏……
——读者：群英在济
……这本书很不错，里面好多算法是其他书籍资料里找不到的……
——读者：轩辕露霜
……确实能锻炼你的编程能力！能把程序变得强壮一点！……
——读者：answei
……讲解很清晰，例子很有代表性，很实用……
——读者：sxh851013@***.***
……这本书经过了我的实践，是一本不错的好书。适合中国人的编程习惯，今天我用到了数值积分的程序，速度相当快……
——读者：gongai9999@***.***
……不错，留作手册，以便查询……
——读者：cjm123
……向想要学习MATLAB的人特别推荐此书!很好的一本入门及提高相关专业知识的书！……
——读者：Oscarsun
……这本书很不错，常用的算法讲得很详细、很好，值得推荐……
——读者：wangchongj211
……很不错，可以当工具书来用……
——读者：yitao07
……对于数理方面的算法，这本书介绍得真是详细啊。可以作为百科全书来使用……
——读者：齐斌
……不错的工具书，很多函数都给编好了，直接使用就可以了，很方便……
——读者：彭飞
……一本不错的程序集！！……
——读者：蓝星辰
新版亮点
在第1版的基础上，第2版更加突出了三大亮点。
1．紧扣新版本软件的特色
本书，尤其是上篇“MATLAB基础篇”根据最新的MATLAB 的2010b版本软件而写，新软件的设计更加人性化，使用起来更简捷方便。
2．优化了全书的结构与内容
一些三级目录提至二级目录，结构更清晰，内容更突出，逻辑型更强。一些原来过渡不是很自然的内容，也都进行了完善，衔接得更流畅，提高了可读性。
3．融入了读者的意见
书中综合融入了这些年来热心读者的意见和建议，在与他们的交流、讨论与互动中，我们都有所提高与进步，这些都体现在新版中了。
新版导读
根据读者的需求和软件的升级，我们结合MATLAB软件的最新版本，对全书的内容进行了完善与优化，使之更加适合教学和自学。
本书讲述的重点是常用算法的MATLAB程序设计及应用，同时将MATLAB的使用方法和编程技巧渗透于其中。全书正文部分共分2篇17章和2个附录，内容概要如下。
上篇：MATLAB基础篇
包括第1章～第3章，分别为MATLAB语言概述、MATLAB计算基础、MATLAB程序设计基础。
本篇对于初学者来说，可以说是最好的参考之一。本篇将从无到有、由浅入深，让你感觉到使用MATLAB进行程序设计是如此轻松愉快。简单地输入几行指令，调用几个函数，就能帮你实现所需要的结果。
对于MATLAB程序设计的初学者，建议认真学习本篇，而对于熟悉MATLAB编程的读者，则可以有选择地学习本篇。
下篇：算法程序篇
包括第4章～第17章，分别为插值、函数逼近、矩阵特征值计算、数值微分、数值积分、方程求根、非线性方程组求解、解线性方程组的直接法、解线性方程组的迭代法、随机数生成、特殊函数计算、常微分方程的初值问题、偏微分方程的数值解法、数据统计和分析。
在上篇MATLAB基础知识的铺垫下，本篇讲述科学和工程中常用算法的基础理论知识以及MATLAB实现，着重将理论知识与算法实现、算法应用相结合，每个算法都采用MATLAB语言编程实现，并给出了应用实例，使读者能快速地将算法应用到实际问题中去。
附录
附录A提供了MATLAB版本的线性代数、曲线拟合工具箱、样条工具箱、偏微分方程工具箱和最优化工具箱中常用函数的索引和注释，这些是学习MATLAB、应用MATLAB自带函数的好帮手。
附录B提供了本书编写的全部算法程序的注释和索引，便于读者进行查询和参考。
作者寄语
计算是科学研究，尤其是实际工程的基础，往大了说，计算能力是一个国家重要的软实力，祖国的探月登月工程、歼20飞机工程、航母研制等，没有海量的计算几乎是不可能完成的。
而编程是实现计算的工具，要揽瓷器活，先得有金刚钻，不是吗？
我们的祖国目前还是个制造业大国，要迈向制造业强国，计算能力的提高是非常重要的一环。
外面的世界很浮躁，当您捧起这本书时，希望您能沉下心来，不仅学会本书中的东西，而且还能融会贯通，高效地、创造性地解决你学习和工作中的问题，个人点滴的努力终究能凝聚成国家的强大！
本书主要由龚纯、王正林编写。其他参与编写的人员有肖静、王权、刘玉芳、王伟欣、朱桂莲、肖绍英、王殿祜、夏路生、王龙跃、邓祈、钟颂飞、朱艳、钟杜清、彭斌武、王晓丽、刘拥军等。在此对所有参与编写的人表示感谢！
再次对博文视点公司的郭立老师、袁金敏老师表示衷心的感谢！对关心、支持我们的读者表示感谢！
由于时间仓促，作者水平和经验有限，书中错漏之处在所难免，敬请读者指正.作  者     
2011年1月11日，歼20首飞日，于北京
目    录
上篇  MATLAB基础篇
第1章  MATLAB语言概述 2
1.1  MATLAB语言的产生与发展 2
1.2  MATLAB的优势与特点 3
1.3  MATLAB系统的构成 4
1.4  MATLAB的工具箱 5
1.5  MATLAB桌面操作环境 6
1.5.1  MATLAB启动和退出 6
1.5.2  MATLAB主菜单及功能 7
1.5.3  MATLAB命令窗口 11
1.5.4  MATLAB工作空间 12
1.5.5  M文件编辑/调试器 15
1.5.6  图形窗口 16
1.5.7  MATLAB文件管理 18
1.5.8  MATLAB帮助使用 18
1.6  小结 18
第2章  MATLAB计算基础 19
2.1  MATLAB数值类型 19
2.2  关系运算和逻辑运算 21
2.3  矩阵及其运算 22
2.3.1  矩阵的创建 22
2.3.2  矩阵的运算 23
2.4  复数及其运算 25
2.4.1  复数的表示 25
2.4.2  复数的绘图 27
2.4.3  复数的操作函数 28
2.4.4  留数的基本运算 28
2.5  符号运算 29
2.5.1  符号运算概述 29
2.5.2  常用的符号运算 31
2.6  MATLAB中的数据精度 32
2.6.1  MATLAB的数据类型 32
2.6.2  MATLAB的数值精度 33
2.6.3  MATLAB的显示精度 34
2.7  MATLAB常用绘图命令 34
2.8  小结 37
第3章  MATLAB程序设计基础 38
3.1  MATLAB编程概述 38
3.2  MATLAB程序设计原则 39
3.3  M文件 40
3.4  MATLAB程序流程控制 42
3.5  MATLAB中的函数及调用 45
3.5.1  函数类型 45
3.5.2  函数参数传递 48
3.6  函数句柄 53
3.7  MATLAB程序调试 54
3.7.1  调试方法 54
3.7.2  调试工具 55
3.7.3  M文件分析工具 56
3.8  MATLAB程序设计技巧 59
3.8.1  嵌套计算 60
3.8.2  循环计算 61
3.8.3  使用例外处理机制 62
3.8.4  使用全局变量 63
3.8.5  通过varargin传递参数 65
3.9  小结 66
下篇  算法程序篇
第4章  插值 68
4.1  拉格朗日插值 68
4.2  艾特肯插值 70
4.3  利用均差的牛顿插值 72
4.4  等距节点插值 74
4.4.1  利用差分的牛顿插值 74
4.4.2  高斯插值 78
4.5  埃尔米特插值 82
4.6  分段三次埃尔米特插值 84
4.7  样条插值 86
4.7.1  二次样条插值 86
4.7.2  三次样条插值 88
4.7.3  B样条插值 95
4.8  有理分式插值 98
4.9  反插值 102
4.10  二维插值 105
4.10.1  分片双线性插值 105
4.10.2  二元三点拉格朗日插值 107
4.10.3  分片双三次埃尔米特插值 110
4.11  小结 112
第5章  函数逼近 113
5.1  切比雪夫逼近 113
5.2  勒让德逼近 115
5.3  帕德逼近 116
5.4  最佳一致多项式逼近 118
5.5  最佳平方多项式逼近 122
5.6  傅立叶逼近 124
5.7  自适应逼近 126
5.7.1  自适应分段线性逼近 126
5.7.2  自适应样条逼近 130
5.8  多项式曲线拟合 134
5.9  线性最小二乘拟合 135
5.10  正交多项式最小二乘拟合 136
5.11  小结 140
第6章  矩阵特征值计算 141
6.1  特征值与特征向量 141
6.2  条件数与病态矩阵 141
6.3  相似变换 143
6.4  特征值求取 145
6.4.1  特征多项式法 145
6.4.2  幂法 146
6.4.3  瑞利商加速幂法 148
6.4.4  收缩法 150
6.4.5  逆幂法 151
6.4.6  位移逆幂法 153
6.4.7  QR算法 155
6.5  舒尔分解和奇异值分解 161
6.6  采用eig函数计算 162
6.7  矩阵指数计算 164
6.8  小结 165
第7章  数值微分 166
7.1  中点公式法 166
7.2  三点公式法和五点公式法 167
7.3  三次样条函数法 170
7.4  自适应数值微分法 172
7.5  辛普森数值微分法 174
7.6  理查森外推算法 178
7.7  二阶导数求取法 179
7.7.1  多点公式法 180
7.7.2  三次样条法 184
7.8  小结 186
第8章  数值积分 187
8.1  复合梯形公式法 187
8.2  辛普森法数值积分 189
8.3  牛顿-科茨法数值积分 191
8.4  高斯系列公式数值积分 193
8.4.1  高斯公式 193
8.4.2  高斯-拉道公式 195
8.4.3  高斯-洛巴托公式 197
8.5  区间逐次分半法数值积分 199
8.5.1  梯形公式数值积分 199
8.5.2  辛普森数值积分 201
8.5.3  布尔数值积分 202
8.6  龙贝格积分法 204
8.7  自适应法求积分 206
8.8  三次样条函数求积分 208
8.9  平均抛物插值求积分 209
8.10  奇异积分 211
8.10.1  高斯-拉盖尔公式 211
8.10.2  高斯-埃尔米特公式 213
8.10.3  第一类切比雪夫积分 215
8.10.4  第二类切比雪夫积分 216
8.11  重积分的数值计算 217
8.11.1  梯形公式 217
8.11.2  辛普森公式 219
8.11.3  高斯公式 221
8.12  小结 223
第9章  方程求根 224
9.1  方程的基本理论 224
9.2  贝努利法 224
9.2.1  按模最大实根 224
9.2.2  按模最小实根 226
9.3  二分法 227
9.4  黄金分割法 229
9.5  不动点迭代法 231
9.5.1  艾肯特加速 232
9.5.2  史蒂芬森加速 233
9.6  弦截法 235
9.6.1  一般弦截法 235
9.6.2  单点弦截法 236
9.6.3  双点弦截法 238
9.6.4  平行弦截法 239
9.6.5  改进弦截法 241
9.7  史蒂芬森法 243
9.8  劈因子法 244
9.9  抛物线法 246
9.10  钱伯斯法 249
9.11  牛顿法 251
9.11.1  简化牛顿法 253
9.11.2  牛顿下山法 254
9.12  逐次压缩牛顿法 256
9.13  联合法 257
9.14  两步迭代法 260
9.15  蒙特卡洛法 262
9.16  重根的迭代法 264
9.17  小结 265
第10章  非线性方程组求解 266
10.1  不动点迭代法 266
10.2  牛顿法 267
10.3  离散牛顿法 270
10.4  牛顿-松弛型迭代法 273
10.4.1  牛顿-雅可比迭代法 273
10.4.2  牛顿-SOR迭代法 275
10.5  牛顿下山法 277
10.6  割线法 279
10.7  拟牛顿法 283
10.8  对称秩1算法 285
10.9  D-F-P算法 286
10.10  B-F-S算法 288
10.11  数值延拓法 290
10.12  参数微分法 292
10.13  最速下降法 295
10.14  高斯牛顿法 297
10.15  共轭梯度法 298
10.16  阻尼最小二乘法 300
10.17  小结 303
第11章  解线性方程组的直接法 304
11.1  线性方程组概论 304
11.2  高斯消去法 304
11.2.1  高斯顺序消去法 305
11.2.2  高斯主元消去法 307
11.2.3  高斯-若当消去法 312
11.3  三角分解法 314
11.3.1  克劳特分解法 315
11.3.2  多利特勒分解法 317
11.4  乔列斯基分解法 319
11.4.1  对称正定矩阵的LLT
分解法 319
11.4.2  对称正定矩阵的LDLT
分解法 320
11.4.3  对称正定矩阵的改进LDLT
分解法 322
11.5  三对角方程组追赶法 324
11.6  直接求逆法 326
11.6.1  加边法求逆矩阵 326
11.6.2  叶尔索夫法求逆矩阵 328
11.7  QR分解法 330
11.8  小结 332
第12章  解线性方程组的迭代法 333
12.1  迭代法概述 333
12.2  理查森迭代法 333
12.3  广义理查森迭代法 337
12.4  雅可比迭代法 338
12.5  高斯-赛德尔迭代法 340
12.6  超松弛迭代法 342
12.7  雅可比超松弛迭代法 346
12.8  两步迭代法 347
12.9  梯度法 349
12.9.1  最速下降法 349
12.9.2  共轭梯度法 351
12.9.3  预处理共轭梯度法 353
12.10  块迭代法 355
12.10.1  块雅克比迭代法 356
12.10.2  块高斯-赛德尔迭代法 359
12.10.3  块逐次超松弛迭代法 361
12.11 小结 363
第13章  随机数生成 364
13.1  平方取中法 364
13.2  线性同余法 366
13.2.1  混合同余法 366
13.2.2  乘同余法 369
13.2.3  素数模同余法 371
13.3  产生指数分布的随机数列 373
13.4  产生拉普拉斯分布的
随机数列 375
13.5  产生瑞利分布的随机数列 376
13.6  产生柯西分布的随机数列 378
13.7  产生爱尔朗分布的随机数列 379
13.8  产生正态分布的随机数列 380
13.9  产生韦伯分布的随机数列 383
13.10  产生泊松分布的随机数列 384
13.11  产生贝努里分布的随机
数列 386
13.12  产生贝努里-高斯分布的
随机数列 387
13.13  产生二项式分布的随机
数列 388
13.14  小结 389
第14章  特殊函数计算 390
14.1  伽玛函数和贝塔函数 390
14.2  不完全伽玛函数 395
14.3  不完全贝塔函数 397
14.4  第一类整数阶贝塞尔函数 400
14.5  第二类整数阶贝塞尔函数 406
14.6  变型的第一类整数阶贝
塞尔函数 410
14.7  变型的第二类整数阶贝塞尔
函数 415
14.8  误差函数、正态分布函数 419
14.9  正弦积分、余弦积分和指数
积分 420
14.10  第一类椭圆积分 425
14.11  第二类椭圆积分 426
14.12  小结 427
第15章  常微分方程的初值问题 428
15.1  欧拉法 428
15.1.1  简单欧拉法 428
15.1.2  隐式欧拉法 430
15.1.3  改进的欧拉法 432
15.2  龙格-库塔法 433
15.2.1  二阶龙格-库塔法 434
15.2.2  三阶龙格-库塔法 437
15.2.3  四阶龙格-库塔法 439
15.2.4  罗赛布诺克半隐式公式 444
15.3  默森单步法 446
15.4  线性多步法 448
15.5  预测-校正法 451
15.5.1  中点-梯形预测-校正法 451
15.5.2  阿达姆斯预测-校正法 454
15.5.3  密伦预测-校正法 456
15.5.4  亚当斯预测-校正法 459
15.5.5  汉明预测-校正法 463
15.6  外推法 465
15.6.1  通用外推法 465
15.6.2  格拉格外推法 468
15.7  小结 470
第16章  偏微分方程的数值解法 471
16.1  椭圆型偏微分方程 471
16.1.1  五点差分格式 471
16.1.2  工字型差分格式 475
16.2  双曲型偏微分方程 479
16.2.1  一维对流方程 479
16.2.2  二维对流方程 495
16.3  抛物型偏微分方程 499
16.3.1  扩散方程 499
16.3.2  对流扩散方程 511
16.4  小结 516
第17章  数据统计和分析 517
17.1  回归分析 517
17.1.1  线性回归 517
17.1.2  多项式回归 521
17.1.3  二次完全式回归 524
17.2  聚类分析 526
17.3  判别分析 529
17.4  主成分分析 532
17.5  小结 536
附录 A  MATLAB计算常用工具箱
函数注释 537
附录 B  本书所编写的算法
程序索引 544
参考文献 551