计算机数值计算方法及程序设计
作者 : 周煦 编著
出版日期 : 2004-10-19
ISBN : 7-111-14877-0
定价 : 28.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 297
开本 : 16开
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本书旨在将数值计算方法和程序设计方法学有机地结合,以便用计算机解决工程和科学技术中的计算问题。本书以数值计算方法的理论为主线,辅以“自顶向下、逐步求精”和典型的模块程序设计方法,全面介绍了解决插值、积分、常微分方程、方程求根、线性方程组等问题的基本思想、计算公式、算法设计、程序框图设计、C语言源程序以及误差分析等内容。本书结构清晰、重点突出、深入浅出,既适合作为高等院校以及成人教育数值计算课程的教材及教师参考书,也适合作为广大科技工作者的自学用书。

图书特色

图书前言

计算机科学与技术的广泛应用,已成为现代科学技术和生产力发展的重要标志之一。在现代信息社会里,计算机知识和应用能力已成为当代大学生和工程技术人员知识能力结构的重要组成部分。使用计算机进行科学计算是计算机最先应用的领域,而且至今仍是计算机科学的重要领域。学好计算机数值算法及程序设计,不仅对于使用计算机进行科学计算,顺利解决工程技术中的计算问题有着重要的意义,而且对于学习使用计算机解决其他各种问题也有极大的启迪作用。
  使用计算机进行科学计算时,人们最为关心的是计算机是否能够完成预期的计算任务。当前的计算机,就其本身运算的实质而言,它所能进行的仅仅是加、减、乘、除四则运算与逻辑运算。人们经常遇到的一些计算问题,例如求三角函数等超越函数的值、函数的导数、积分函数的原函数、微分方程的通解等,这些都是计算机无能为力的。但是,如果所求的是近似的数值解,那么计算机就大有用武之地,而且一般均可以满足预先提出的计算精度要求。而这正是本书所要完成的任务。
  数值计算方法既是一门古老的学科,又是一门新兴的学科,电子计算机的产生和发展大大地促进了数值计算方法的发展,现在数值计算方法已深入到各个学术领域;程序设计方法学是随着计算机的产生和发展而发展起来的一门科学,只有把数值计算方法和程序设计紧密地结合起来,把算法变为计算机能直接执行的程序,才能真正使用计算机帮助人们解决各种极其复杂的计算任务。目前,以上两门学科都有许多专著和教材,但将两者有机地结合起来形成一门独立的课程尚不多见,本书试图将数值计算方法和程序设计方法学融为一体,这也是一种尝试。
  本书使用计算功能强大的C语言编写出各种常用算法的程序,且均在计算机上调试通过,只要有适当的环境,就可以直接在计算机上用来执行某些计算任务。本书在介绍各种算法时,大体上按照基本思想、计算公式、算法设计、程序框图设计、源程序和误差的顺序进行叙述。全书以算法为主线,突出结构化、模块化设计思想,结合算法介绍“自顶向下,逐步求精”和典型模块程序设计的方法。本书作者在大学从事了40年的教学工作,有着丰富的教学经验。本书是作者近20年来开设数值算法及程序设计课程的总结。本书内容系统、概念明确、条理清楚、由浅入深、语言流畅、图文并茂,既适合作为高等院校的本科生、专科生、研究生以及成人教育学生及教师的教材或教学参考用书,也可以作为广大科技工作者的自学用书。
  在本书的编写过程中,得到了全国高等学校计算机学会和机械工业出版社的关怀和支持。华中科技大学的张凤祥教授和机械工业出版社华章分社编辑为本书提出了很多中肯的建议,在此谨向上述部门、单位以及支持本书编写、出版的同志们、老师们表示衷心的感谢。
  由于编者的水平有限,加上编写匆忙,难免有所疏漏,恳请读者予以批评指正。

编  者
2004年3月

图书目录

第1章  概论 1
1.1  数值计算及程序设计课程的性质及其研究对象 1
1.1.1  数值计算及程序设计的研究对象 1
1.1.2  学习计算机数值方法及程序设计的重要性 3
1.1.3  课程的基本要求 5
1.2  数值计算方法的基本方法与途径 5
1.2.1  离散变量与离散化 5
1.2.2  逼近 6
1.2.3  递推 6
1.2.4  常用基本递推结构 9
1.2.5  算法的特点 13
1.3  误差 14
1.3.1  误差的概念 14
1.3.2  误差限 14
1.3.3  绝对误差和相对误差 15
1.3.4  有效数字 16
1.3.5  误差来源 18
1.3.6  应用计算机进行数值计算时应注意的问题
1.4  程序设计方法简介 26
1.4.1  概述 26
1.4.2  程序结构的初步知识 42
1.4.3  程序设计方法简介 44
小结 52
习题 52
第2章  插值 55
2.1  拉格朗日插值 56
2.1.1  概述 56
2.1.2  线性插值 57
2.1.3  抛物插值 59
2.1.4  一般形式的拉格朗日插值 61
2.2  插值余项 64
2.2.1  拉格朗日插值余项定理 64
2.2.2  插值余项的事后估计 66
2.3  分段插值 68
2.3.1  分段插值的基本思想 68
2.3.2  选择插值结点的原则 68
2.3.3  分段线性插值 69
2.3.4  分段抛物插值 71
2.4  牛顿插值 75
2.4.1  差商 75
2.4.2  差商的性质 75
2.4.3  差商的计算 76
2.4.4  牛顿插值多项式 78
2.4.5  牛顿插值的算法设计 80
2.4.6  牛顿插值的程序框图设计 82
2.4.7  牛顿插值的C语言源程序 83
2.4.8  牛顿插值的误差 85
2.5  等距结点插值 86
2.5.1  差分及其性质 86
2.5.2  等距结点插值公式 87
2.5.3  向前差分递推表 88
2.5.4  等距结点插值的算法设计 89
2.5.5  等距结点插值的程序框图设计 90
2.5.6  等距结点插值的C语言源程序 92
小结 93
习题 94
第3章  积分的数值方法 97
3.1  概述 97
3.2  梯形积分法 99
3.2.1  梯形积分法概述 99
3.2.2  定步长梯形积分 100
3.2.3  变步长梯形积分 107
3.3  抛物积分法 113
3.3.1  抛物积分法概述 113
3.3.2  定步长抛物积分 115
3.3.3  变步长抛物积分 119
3.4  龙贝格积分法 125
3.4.1  牛顿-柯特斯积分 125
3.4.2  梯形积分法和抛物积分法的误差 131
3.4.3  龙贝格求积公式 136
3.4.4  龙贝格积分的算法设计 138
3.4.5  龙贝格积分的程序框图设计 139
3.4.6  龙贝格积分的C语言源程序 141
3.5  高斯求积 143
3.5.1  概述 143
3.5.2  高斯积分法的提出 144
3.5.3  高斯积分法的求积过程 145
3.5.4  变步长高斯求积 149
小结 155
习题 156
第4章  常微分方程数值解法 159
4.1  概述 159
4.1.1  研究常微分方程数值解法的必要性 159
4.1.2  一阶常微分方程的初值问题 159
4.1.3  常微分方程初值问题的数值解法 159
4.2  欧拉折线法和改进的欧拉折线法 160
4.2.1  欧拉折线法 160
4.2.2  改进的欧拉折线法 165
4.3  龙格-库塔法 170
4.3.1  概述 170
4.3.2  龙格-库塔法的基本思想 172
4.3.3  龙格-库塔法的计算公式 172
4.3.4  龙格-库塔法的算法设计 174
4.3.5  龙格-库塔法的程序框图设计 174
4.3.6  龙格-库塔法的C语言源程序 175
4.3.7  龙格-库塔法的误差 177
4.4  一阶微分方程组与高阶常微分方程初值问题的数值解法 178
4.4.1  一阶微分方程组初值问题的数值解法 178
4.4.2  高阶常微分方程初值问题的数值解法 181
小结 189
习题 189
第5章  方程求根 191
5.1  二分法 191
5.1.1  有根区间的确定 191
5.1.2  二分法求根 196
5.2  迭代法 202
5.2.1  迭代法的基本思想 202
5.2.2  迭代法的数学原理 203
5.2.3  迭代法的算法设计 203
5.2.4  迭代法的程序框图设计 204
5.2.5  迭代法的C语言源程序 204
5.2.6  迭代式的收敛问题 207
5.3  加速迭代法 209
5.3.1  加速迭代法的基本思想 210
5.3.2  加速迭代法的数学原理 210
5.3.3  加速迭代法的算法设计 210
5.3.4  加速迭代法的程序框图设计 211
5.3.5  加速迭代法的C语言源程序 212
5.4  牛顿法 213
5.4.1  牛顿法的基本思想 213
5.4.2  牛顿法的数学原理 213
5.4.3  牛顿法的算法设计 214
5.4.4  牛顿法的程序框图 215
5.4.5  牛顿法的C语言源程序 215
5.4.6  牛顿法的收敛问题 219
5.5  弦截法 220
5.5.1  弦截法的基本思想 220
5.5.2  弦截法的数学原理 221
5.5.3  弦截法的算法设计 223
5.5.4  弦截法的程序框图设计 223
5.5.5  快速弦截法的C语言源程序 224
小结 228
习题 228
第6章  线性方程组的数值解法 231
6.1  迭代法 231
6.1.1  迭代法的基本思想 232
6.1.2  迭代法的计算公式 232
6.1.3  迭代法的算法设计 235
6.1.4  迭代法的程序框图设计 237
6.1.5  迭代法的C语言源程序 238
6.1.6  判断迭代法收敛的几个常用条件 239
6.2  约当消去法 240
6.2.1  简单约当消去法 242
6.2.2  选主元约当消去法 251
6.3  高斯消去法 262
6.3.1  高斯消去法概述 263
6.3.2  列主元的高斯消去法 275
6.3.3  全主元的高斯消去法 280
6.4  追赶法 285
6.4.1  三对角方程组 285
6.4.2  基本思想 285
6.4.3  追赶法的计算公式 286
6.4.4  追赶法的算法设计 288
6.4.5  追赶法的程序框图设计 288
6.4.6  追赶法的C语言源程序 289
小结 290
习题 291
综合练习 295
参考文献 299

教学资源推荐
作者: 金一庆 陈越 王冬梅
作者: Robert Sedgewick, Philippe Flajolet
作者: Nakhlé H. Asmar