《科学计算和C程序集 新1版》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:蒋长锦编著
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2010
  • ISBN:9787508470351
  • 页数:677 页
图书介绍:本书汇集了科学计算的常用数值计算方法及其C语言程序。内容包括解线性代数方程组的直接法和迭代法、插值和拟合、数值微分和数值积分、矩阵特征值问题、非线性方程和非线性方程组的数值解法、常微分方程及常微分方程组初值问题和边值问题的数值解法等及其C语言程序。

第1章 引言 1

1.1 科学计算的任务和特点 1

1.1.1 用计算机解决实际问题 1

1.1.2 数值计算方法的特点 2

1.2 计算机中数的表示 4

1.2.1 数字式计算机中数的表示 4

1.2.2 计算机的浮点数系 5

1.3 误差 5

1.3.1 误差来源 5

1.3.2 误差的基本知识 6

1.3.3 浮点运算和舍入误差 8

1.4 条件问题和算法的数值稳定性 10

1.4.1 条件问题 10

1.4.2 数值稳定性 12

第2章 解线性代数方程组的直接法 14

2.1 Gauss消去法 14

2.1.1 三角形方程组及其解法 14

2.1.2 Gauss顺序消去法 16

2.1.3 列主元素消去法 22

2.1.4 全主元素消去法 28

2.2 矩阵的三角分解 32

2.2.1 矩阵三角分解的意义和形式 32

2.2.2 矩阵的Crout分解 33

2.2.3 矩阵的Doolittle分解 37

2.2.4 解三对角线方程组的追赶法 42

2.2.5 带状对角形线性方程组的列主元消去法 45

2.3 正定矩阵的Cholesky分解 49

2.3.1 正定矩阵和LDLT分解 49

2.3.2 正定矩阵的LLT分解 50

2.3.3 正定矩阵的LDLT分解 53

2.4 矩阵求逆和行列式计算 56

2.4.1 Gauss-Jordan消去法 56

2.4.2 用Gauss-Jordan消去法解方程组集 59

2.4.3 用Gauss-Jordan消去法求矩阵的逆 63

2.4.4 行列式计算 65

2.5 向量范数和矩阵范数 68

2.5.1 向量范数 68

2.5.2 矩阵范数 70

2.6 计算解的精确度问题 73

2.6.1 右端项误差对解的影响和矩阵的条件数 73

2.6.2 系数矩阵误差对解的影响 74

2.6.3 计算解的误差估计 75

2.6.4 解的迭代改善 78

第3章 解线性方程组的迭代法 83

3.1 解线性方程组迭代法的一般理论 83

3.1.1 向量和矩阵序列及其收敛性 84

3.1.2 一般迭代格式的构造 84

3.1.3 迭代的收敛问题 85

3.2 Jacobi迭代 87

3.2.1 迭代格式 87

3.2.2 Jacobi迭代的收敛问题 91

3.3 Gauss-Seidel迭代 93

3.3.1 迭代格式 93

3.3.2 Gauss-Seidel迭代的收敛问题 96

3.4 松弛迭代 96

3.4.1 迭代格式 96

3.4.2 迭代的收敛问题 99

3.5 共轭斜量法 101

3.5.1 线性方程组和函数的极小化问题 101

3.5.2 共轭斜量法 105

第4章 插值法 112

4.1 插值的基本概念 112

4.1.1 问题的提出 112

4.1.2 插值 112

4.1.3 插值函数的存在唯一性 113

4.2 多项式插值及其Lagrange形式 115

4.2.1 多项式插值 115

4.2.2 多项式插值的Lagrange形式 116

4.2.3 多项式插值的余项 119

4.2.4 逐次线性插值 121

4.3 多项式插值的Newton形式 127

4.3.1 Newton插值多项式 127

4.3.2 差商 128

4.3.3 等距Newton插值 133

4.4 Hermite插值 141

4.4.1 Hermite插值的定义 141

4.4.2 Hermite插值多项式的构造 142

4.5 三次样条插值 146

4.5.1 多项式插值的局限性 146

4.5.2 三次样条插值函数和连续性方程 147

4.5.3 端点约束条件 150

4.5.4 样条插值函数的极性和收敛性 153

4.5.5 三次样条函数的矩阵表示 155

4.5.6 应用程序 157

4.6 双三次样条函数和样条曲面 168

4.6.1 双三次样条函数的定义 168

4.6.2 双三次样条插值问题 169

4.6.3 双三次样条函数在子矩阵上的表示 171

4.6.4 双三次样条插值函数的计算过程 171

第5章 数据拟合 173

5.1 引言 173

5.2 线性最小二乘法 174

5.2.1 超定方程组和法方程组 174

5.2.2 多项式拟合 175

5.2.3 多变元线性拟合 181

5.2.4 线性拟合的推广 184

5.3 正交化方法 188

5.3.1 法方程组的条件问题 188

5.3.2 Gram-Schmidt方法 188

5.3.3 Householder变换 193

5.3.4 正交多项式方法 199

5.4 矩阵的奇异值分解和极小最小二乘解 205

5.4.1 矩阵的奇异值分解 206

5.4.2 矩阵奇异值分解的计算方法 207

5.4.3 极小最小二乘解 210

5.5 B样条曲线 214

5.5.1 B样条曲线的数学表示 214

5.5.2 三次B样条曲线 215

5.5.3 B样条曲线的几何性质 217

5.6 Fourier级数和快速Fourier变换 218

5.6.1 最佳平方三角函数逼近 218

5.6.2 Fourier变换 222

5.6.3 快速Fourier变换 225

5.6.4 FFT程序 231

第6章 数值微分和数值积分 238

6.1 数值微分 238

6.1.1 用差商近似代替微商 238

6.1.2 用插值多项式求数值微商 239

6.2 数值积分的基本概念 242

6.2.1 研究数值积分的必要性 242

6.2.2 数值积分的基本思想 243

6.2.3 求积公式的代数精确度 244

6.3 Newton-Cotes公式 245

6.3.1 Newton-Cotes公式的形式 245

6.3.2 Newton-Cotes公式的误差 251

6.3.3 Newton-Cotes公式的收敛性和数值稳定性 254

6.4 复化公式和区间逐次半分法 254

6.4.1 复化公式 254

6.4.2 复化公式的误差 256

6.4.3 区间逐次半分法和误差的事后估计 258

6.4.4 实用程序 259

6.5 外推法和Romberg积分 262

6.5.1 数值方法中的加速收敛技巧 262

6.5.2 Richardson外推法 263

6.5.3 Romberg积分法 264

6.6 自适应Simpson积分法 268

6.6.1 数值积分的自适应问题 268

6.6.2 自适应Simpson算法 270

6.7 Gauss型求积公式 273

6.7.1 Gauss型求积公式的一般形式 273

6.7.2 求积公式的余项和数值稳定性 276

6.7.3 Gauss-Legendre求积公式 278

6.7.4 Gauss-Chebyshev求积公式 284

6.7.5 Gauss-Laguerre求积公式 287

6.7.6 Gauss-Hermite求积公式 291

第7章 矩阵特征值问题 296

7.1 矩阵特征值的估计 296

7.1.1 圆盘定理 296

7.1.2 圆盘定理的应用 300

7.1.3 矩阵特征值问题的条件 302

7.2 幂法和反幂法 305

7.2.1 幂法 305

7.2.2 反幂法 314

7.2.3 矩阵收缩 317

7.3 QR方法 325

7.3.1 QR方法及其收敛性 326

7.3.2 Hessenberg矩阵及其QR分解 328

7.3.3 Hessenberg矩阵的QR算法 333

7.3.4 带原点位移的QR算法 337

7.3.5 双重步QR算法 342

7.4 实对称矩阵的基本性质 349

7.4.1 谱分解和极值定理 349

7.4.2 特征值的估计和摄动 350

7.5 实对称矩阵的幂法和子空间迭代法 351

7.5.1 实对称矩阵的幂法和反幂法 351

7.5.2 用幂法求实对称矩阵全部特征值 357

7.5.3 子空间迭代法 362

7.6 Jacobi方法 368

7.6.1 实对称矩阵和旋转相似变换 368

7.6.2 Jacobi方法 370

7.6.3 Jacobi方法的收敛性 375

7.7 实对称矩阵的Givens-Householder方法 376

7.7.1 实对称矩阵的三对角线化 376

7.7.2 计算特征值的二分法 379

7.7.3 特征向量的计算 382

7.7.4 Givens-Householder方法程序 382

7.7.5 实对称三对角矩阵次对角元素有零情形 388

7.8 对称QR方法 389

7.8.1 对称三对角化的Householder算法 389

7.8.2 对称三对角线矩阵的QR算法 391

7.8.3 隐位移QR算法 393

7.8.4 隐位移对称QR算法方法程序 395

第8章 非线性方程数值解法 399

8.1 实根的搜索 399

8.1.1 逐步搜索法 399

8.1.2 区间二分法 400

8.2 迭代法的一般理论 403

8.2.1 Picard迭代和压缩映射 404

8.2.2 Picard迭代的误差估计和收敛阶 407

8.2.3 Picard迭代的加速收敛 408

8.3 Newton迭代 411

8.3.1 Newton法 411

8.3.2 Newton法的变形 415

8.3.3 Newton法的重根处理 416

8.3.4 用反函数构造单点迭代函数 420

8.4 多点迭代法 421

8.4.1 插值和多点迭代法的构造 421

8.4.2 弦位法 423

8.4.3 特殊的弦位法 426

8.4.4 抛物线法(Müller公式) 430

8.4.5 用导数估计建立多点迭代公式 435

8.5 用公式求多项式方程的根 438

8.5.1 实系数二次方程的求根 438

8.5.2 实系数三次方程的求根公式 439

8.5.3 实系数四次方程的求根 441

8.5.4 多项式方程公式求根程序 442

8.6 多项式方程求根的Newton法 447

8.6.1 多项式求值的秦九韶算法 447

8.6.2 Newton法 448

8.6.3 Newton-Maehly方法 448

8.6.4 Newton-Maehly方法程序 449

8.7 多项式方程求根的Bernoulli方法 451

8.7.1 Bernoulli方法的基本思想 451

8.7.2 Bernoulli方法的实现 453

8.7.3 Bernoulli方法的改进 454

8.7.4 改进的Bernoulli方法程序 456

8.8 多项式方程求根的林士谔-Bairstow方法 459

8.8.1 林士谔-Bairstow算法 459

8.8.2 林士谔-Bairstow方法的二次收敛性 462

8.8.3 p,q的初值选取 463

8.8.4 林士谔-Bairstow方法程序 463

第9章 非线性方程组的迭代解法 467

9.1 预备知识 467

9.1.1 非线性方程组数值解法概述 467

9.1.2 多元函数的可微性 468

9.1.3 多元向量函数的可微性 469

9.1.4 多元函数和多元向量函数的二阶导数 470

9.2 简单迭代法 471

9.2.1 简单迭代的构造 471

9.2.2 简单迭代的收敛性 472

9.3 解非线性方程组的Newton法 474

9.3.1 Newton迭代法 474

9.3.2 带松弛因子的Newton迭代法 479

9.3.3 带阻尼因子的Newton迭代法 483

9.3.4 修正的Newton迭代法 484

9.4 割线法 488

9.4.1 多元向量函数线性插值 488

9.4.2 割线法的一般讨论 489

9.4.3 n+1点割线法 491

9.4.4 两点割线法 492

9.4.5 Steffensen方法 496

9.5 拟Newton法 498

9.5.1 拟Newton法的一般讨论 499

9.5.2 Broyden方法 500

9.5.3 秩2算法 505

9.5.4 D-F-P秩2算法 506

9.5.5 B-F-S秩2算法 509

9.6 最速下降法和共轭斜量法 512

9.6.1 最速下降法 513

9.6.2 共轭斜量法 517

第10章 常微分方程初值问题数值解法 522

10.1 Euler方法 522

10.1.1 Euler方法的导出及其几何意义 522

10.1.2 误差分析 524

10.1.3 Euler方法的变形 526

10.2 Runge-Kutta方法 530

10.2.1 Taylor级数和Runge-Kutta方法 530

10.2.2 显式Runge-Kutta方法 532

10.2.3 Gill公式方法 536

10.2.4 隐式Runge-Kutta方法 539

10.2.5 误差估计和变步长Runge-Kutta方法 546

10.3 线性多步法 551

10.3.1 Adams显式公式 552

10.3.2 Adams隐式公式 553

10.3.3 出发值的计算 555

10.3.4 隐式公式的迭代解法 556

10.4 预测—校正方法 559

10.4.1 预测—校正方法的基本形式 560

10.4.2 Milne方法 565

10.4.3 Hamming方法 566

10.5 相容性、收敛性和稳定性 569

10.5.1 单步法的相容性和收敛性 569

10.5.2 线性多步法的相容性和收敛性 571

10.5.3 渐近稳定性 572

10.5.4 单步法的绝对稳定性问题 573

10.5.5 线性多步法的绝对稳定性 576

10.6 常微分方程组初值问题 580

10.6.1 显式Runge-Kutta方法 581

10.6.2 二级四阶隐式Runge-Kutta公式 584

10.6.3 线性多步法 589

10.7 刚性方程组 594

10.7.1 刚性方程组的基本概念 594

10.7.2 变步长三级六阶隐式Runge-Kutta方法 595

10.7.3 Gear方法 604

10.8 高阶常微分方程初值问题 606

10.8.1 化高阶常微分方程为一阶常微分方程组 606

10.8.2 用于高阶常微分方程的Runge-Kutta程序 606

10.8.3 三级六阶隐式Runge-Kutta程序 608

第11章 边值问题数值解法 615

11.1 常微分方程边值问题 615

11.1.1 边值问题和边界条件 615

11.1.2 线性方程边值问题 616

11.2 解边值问题的差分方法 617

11.2.1 线性方程的差分方法 617

11.2.2 解线性方程的差分方法程序 619

11.2.3 非线性方程的差分方法 622

11.2.4 Newton迭代法程序 625

11.3 打靶法 628

11.3.1 线性方程边值问题分析 628

11.3.2 线性方程边值问题打靶法 629

11.3.3 二阶线性方程打靶程序 631

11.3.4 非线性方程边值问题打靶法 635

11.3.5 非线性方程边值问题的打靶法程序 637

11.4 边值问题的样条函数解法 641

11.4.1 三次样条函数及其导数 641

11.4.2 样条函数配点法 642

11.4.3 线性方程样条函数配点法 642

11.4.4 线性方程样条函数配点法程序 644

11.5 特征值问题 648

11.5.1 Sturm-Liouville问题 648

11.5.2 特征值问题的差分方法 649

11.5.3 Sturm-Liouville方程特征值问题程序 652

附录A C语言屏幕绘图 658

A.1 图形系统初始化 658

A.2 标号、折线和曲线绘制 661

A.3 消隐曲面绘制 667

附录B 程序索引 672

参考文献 677