11数值试验题1 线性代数方程组的数值解法 104数值试验题3

科学和工程计算基础

作者:施妙根

图书详细信息:

ISBN:9787302034841

定价:39元

印次:1-20

装帧:平装

印刷日期:2013-11-25

图书简介:

本书内容是科学和工程实际中常用的数值计算方法及其有关的理论,包括线性代数方程组的数值解法、插值和拟合、数值积分和数值微分、常微分方程的数值解法、非线性方程(组)的数值解法、最优化的计算方法以及矩阵特征值问题的数值方法。各章都有应用例题和数值试验习题,书末附有Matlab语言简介。为便于自学,数值计算习题附有答案。

本书注重实际应用和计算能力的训练,注意基本概念和基本理论,但不追求理论上的完整性。本书的起点低,跨度大,从复习高等数学和线性代数开始,直到某些近代的算法,范围和深度都有较大的弹性。可作为工程硕士研究生以及理工科非计算数学专业大学生、研究生的“数值分析”课程教材,也可供科技工作者参考。

前言

为了实现终生教育和继续教育,以适应科技飞速进步的需要,这几年许多企事业单位与高等院校联合举办了研究生课程进修班,并且有日益扩大的趋势。因为工程实际和科学研究中提出了越来越多的数学问题,而且往往需要求数值解,所以这类理工科进修班大多选择“数值分析”作为必修的基础课,但希望编写新教材,内容比已有的更实用、更注重实际计算能力的培养。

现在高等院校理工科专业已普遍把“数值分析”列入基础课教学。回顾近二十年来的历程,计算机软硬件发展到今天的水平,数值分析课程确实有许多地方需要改进,上述要求也应该适用于在校的多数大学生和研究生。本书就是为此进行的一次尝试,内容为基本数值计算方法以及有关的理论,包括函数的插值和拟合、线性和非线性方程的数值解法、数值微积分、常微分方程数值解法、最优化方法,以及矩阵特征值问题的数值方法等,并取名为“科学和工程计算基础”。使用对象是非计算数学专业的理工科大学生、研究生、以及研究生课程进修班,也可作为科技工作者的参考书。

编写本书时我们考虑了以下几个方面:

本课程的宗旨是使大学生和研究生了解数值计算的重要性及其主要内容,掌握基本算法并会用计算机实现,懂得构造、评估、选取、甚至改进算法的数学理论依据,培养和提高独立处理数值计算问题的能力。

为了适应各专业的大学生和各类研究生的需要,内容按低起点大跨度的原则选取,范围和深度都有较大的弹性,教学时可根据学生的实际情况选用。针对在职人员设置了“预备知识”一章,用于比较系统地复习与本课程有关的微积分和线性代数基础知识,其中包括大学课程中没有学过但本课程需要的部分内容,如函数序列的一致收敛性、某些特殊矩阵、矩阵和函数的范数等。全书大体分成基本部分和选学部分。基本部分包括基本数学问题的常用算法,但考虑到理工科的特点和需要,删除了不常用的算法以及主要用于学科本身的内容。选学部分用于扩大知识面,并增加数学理论的深度,写成专门的章节或附录。例如增加了常微分方程边值问题和最优化问题的一些基本解法,对某些比较难的证明以附注或附录形式给出。还吸收了少量实用但理论较深的算法,如常微分方程两点边值问题的有限元方法、非线性方程组的延拓法以及线性规划的内点算法等,对此主要讲思路和方法,舍去严格证明,目的是引导学生开阔视野。

注意理论联系实际,由于本学科可以用数值例子说明算法的性质,因此各章节的主要算法都配备有数值计算的例题。这里讨论的数学问题都有广泛的应用背景,每章开头用实际问题引入,或者在章末设置应用例题一节,供参考。本课程是一门应用性较强的数学基础课,不同于算法手册或计算机语言课,为了深入掌握和灵活应用算法,必须懂得算法的理论依据。当然,教学过程应视不同情况区别对待,对象不同和学时的多少,对理论深度的要求也应有所不同。

学习本课程的最终目的,是用计算机解决科学和工程实际中的数值计算问题,因此熟练地在计算机上实现算法是必备的基本技能。本书推荐Matlab软件作为基本计算工具,因为这种语言具有很强的数值计算和作图功能,有丰富的函数库,比Fortran和C语言易学易懂,使用更方便。在书末的附录中对Matlab作了简要的介绍,内容限于与数值计算有关的部分。本书较复杂的例题都是用Matlab程序计算的。为了提高数值计算和应用计算机的能力,也为了通过实际计算加深对所学内容的理解,各章都给出了用Matlab进行数值试验的习题。

本书内容比较多,不可能全部讲解。各章具有相对的独立性,但也有一定的联系。根据前后引用次序以及对课程的要求,建议选择如下各种方案。

1. 初学者课内48学时

2. 初学者课内64学时

方案(1):

方案(2):

方案(3):

3. 对于已学过48学时“计算方法”的学生,课内64学时

本书第2, 3, 5, 6章由顾丽珍编写,其他部分由施妙根编写。

清华大学研究生院对编写本书非常重视,自始至终给予大力的支持和鼓励。在拟订大纲时,曾进行过多次研讨,有关领导和同行们提出了许多建设性的意见。对此,编者表示衷心的感谢。

本书成书时间仓促,作者水平有限,取材和叙述方式等难免有错漏和不当之处,恳请读者和专家们指正。

编者

1999年5月

目录

前言 V

第1章 绪论 1

1.1 课程的内容、意义和特点 1

1.2 误差的基本概念 4

1.2.1 误差和有效数字 4

1.2.2 函数求值的误差估计 5

1.2.3 计算机中数的表示和舍入误差 7

1.3 数值稳定性和病态问题 8

1.3.1 算法的稳定性 8

1.3.2 病态数学问题和条件数 10

1.4 算法的实现 11

习题1 11

数值试验题1 12

第2章 预备知识 13

2.1 微积分若干基本概念和基本定理 13

2.1.1 数列极限和函数极限 13

2.1.2 闭区间上的连续函数 14

2.1.3 函数序列的一致收敛性 16

2.1.4 中值定理 17

2.1.5 变参数积分求导公式 19

2.2 常微分方程的基本概念和有关理论 19

2.2.1 基本概念 19

2.2.2 初值问题解的存在唯一性 21

2.2.3 初值问题的适定性、条件 23

2.2.4 两点边值问题 25

2.3 线性代数的有关概念和结论 26

2.3.1 线性空间 26

2.3.2 矩阵和矩阵变换 28

2.3.3 初等矩阵 30

2.3.4 矩阵的特征值和谱半径 31

2.3.5 Jordan 标准形 34

2.3.6 矩阵特征值估计——Gerschgorin圆盘定理 37

2.3.7 对角占优阵 40

2.3.8 对称正定阵 42

2.3.9 分块矩阵 44

2.3.10 向量和连续函数的内积 46

2.3.11 向量范数,矩阵范数和连续函数的范数 48

习题2 55

第3章 线性代数方程组的数值解法 61

3.1 引言 61

3.2 高斯消去法 62

3.2.1 顺序消去过程和矩阵的LU三角分解 62

3.2.2 可行性和计算量 67

3.2.3 数值稳定性:选主元 68

3.3 矩阵的直接三角分解法 75

3.3.1 三对角形方程组的追赶法 75

3.3.2 对称正定阵的Cholesky分解法 77

3.4 方程组的性态、条件数 81

3.4.1 病态方程组和矩阵的条件数 81

3.4.2 条件数的应用:方程组误差估计 85

3.5 大型方程组的迭代方法 87

3.5.1 Jacobi迭代和Gauss-Seidel迭代法 88

3.5.2 迭代法的收敛性和收敛速度 91

3.5.3 Jacobi迭代法和Gauss-Seidel迭代法的收敛性判定 95

3.5.4 分块迭代法 97

3.6 应用例题 98

评注 102

习题3 104

数值试验题3 109

第4章 插值和拟合 113

4.1 引言 113

4.1.1 函数的插值 113

4.1.2 离散数据的拟合 114

4.2 插值 116

4.2.1 拉格朗日插值法 116

4.2.2 插值的余项 118

4.2.3 均差和牛顿插值法 119

4.3 分段低次插值 121

4.3.1 龙格现象和分段线性插值 121

4.3.2 分段埃尔米特三次插值 124

4.3.3 附注:二重埃尔米特插值 127

4.4 三次样条插值 127

4.4.1 样条插值的背景和定义 127

4.4.2 三次样条插值的定解条件 128

4.4.3 三弯矩算法 130

4.4.4 例题和一致收敛性 133

4.5 正交多项式 136

4.5.1 连续函数空间 136

4.5.2 离散点列上的正交多项式 139

4.5.3 连续区间上的正交多项式 143

4.6 离散数据的曲线拟合 146

4.6.1 线性模型和最小二乘拟合 146

4.6.2 正规方程和解的存在唯一性 147

4.6.3 多项式拟合和例题 151

4.6.4 正规方程的病态和正交多项式拟合 154

评注 158

习题4 158

数值试验题4 161

第5章 数值积分和数值微分 162

5.1 引言 162

5.2 梯形公式和Simpson求积公式 164

5.2.1 梯形公式和Simpson公式 164

5.2.2 复化梯形公式和复化Simpson公式 167

5.3 Gauss求积公式 170

5.3.1 Gauss点与正交多项式零点的关系 171

5.3.2 常用的Gauss型求积公式 173

5.3.3 Gauss公式的余项 178

5.3.4 Gauss求积公式的数值稳定性和收敛性 179

5.4 数值微分 180

5.4.1 Taylor展开法 181

5.4.2 插值型求导公式 185

5.4.3 三次样条求导 187

5.5 外推技巧和自适应技术 189

5.5.1 外推原理 189

5.5.2 数值微分的外推算法 191

5.5.3 数值积分的Romberg算法 191

5.5.4 自动变步长Simpson方法和自适应Simpson方法 193

5.6 应用例题 194

评注 197

习题5 198

数值试验题5 201

第6章 常微分方程的数值解法 203

6.1 引言 203

6.2 初值问题的数值解法 204

6.2.1 Euler方法及其截断误差和阶 204

6.2.2 Runge-Kutta法 209

6.2.3 单步法的稳定性 214

6.2.4 线性多步法 217

6.2.5 预测-校正技术和外推技巧 221

6.3 一阶常微分方程组的数值方法 225

6.3.1 一阶方程组和高阶方程 225

6.3.2 刚性方程(组) 227

6.4 边值问题的打靶法和差分法 233

6.4.1 打靶法 234

6.4.2 差分法 237

6.5* 有限元方法 239

6.5.1 泛函极值和Euler方程 240

6.5.2 两点边值问题的变分原理 244

6.5.3 变分近似法——Ritz-Galerkin方法 251

6.5.4 有限元方法 257

评注 266

习题6 267

数值试验题6 272

第7章 非线性方程和方程组的解法 276

7.1 引言 276

7.1.1 问题的背景和内容概要 276

7.1.2 一元方程的搜索法 277

7.2 一元方程的基本迭代法 279

7.2.1 基本迭代法及其收敛性 279

7.2.2 局部收敛性和收敛阶 282

7.2.3 收敛性的改善 286

7.3 一元方程的牛顿迭代法 288

7.3.1 牛顿迭代法及其收敛性 288

7.3.2 重根时的牛顿迭代改善 291

7.3.3 离散牛顿法 293

7.4 非线性方程组的解法 294

7.4.1 不动点迭代法 294

7.4.2 牛顿迭代法 298

7.4.3 拟牛顿法 303

附录7.1 某些定理的证明 307

附录7.2 延拓法 310

评注 313

习题7 314

数值试验题7 317

第8章 最优化方法 318

8.1 引言 318

8.2 线性规划及其解法 320

8.2.1 标准形式和基本性质 320

8.2.2 单纯形算法 324

8.2.3 单纯形方法的初始化 330

8.2.4 线性规划的对偶性质 333

8.2.5 对偶变尺度算法 336

8.3 无约束最优化方法 342

8.3.1 基本概念和下降法 342

8.3.2 一维搜索 345

8.3.3 下降方向和收敛性 348

8.3.4 非线性最小二乘问题 351

8.4 约束最优化方法 356

8.4.1 引言 356

8.4.2 罚函数法 357

8.4.3 下降法 363

8.4.4 凸二次规划的内点算法 369

评注 374

习题8 375

数值试验题8 377

第9章 矩阵特征值问题的数值解法 379

9.1 引 言 379

9.1.1 问题的背景和内容概要 379

9.1 2 特征值的扰动和条件数 381

9.2 幂法及其变形 382

9.2.1 幂法和外推加速 382

9.2.2 反幂法和原点位移 387

9.2.3 对称矩阵的修正幂法 390

9.3 矩阵的两种正交变换 393

9.3.1 平面旋转变换和镜面反射变换 393

9.3.2 化矩阵为Hessenberg形 398

9.3.3 矩阵的QR分解 402

9.4 QR算法 405

9.4.1 QR算法及其收敛性 405

9.4.2 QR算法的改善 410

9.4.3 双步隐式QR算法 413

评注 420

习题9 420

数值试验题9 423

附录 Matlab语言简介 424

f.1 Matlab语言的特点 424

f.2 环境窗口、语言结构和编程方法 426

f.3 主要语法和符号 428

f.4 矩阵的操作和运算 433

f.5 库函数 439

f.6 若干算法的Matlab程序 442

参考文献 454

习题答案 456

索引 468