新書推薦:
《
佛山华家班粤菜传承 华家班59位大厨 102道粤菜 图文并茂 菜式制作视频 粤菜故事技法 佛山传统文化 广东科技
》
售價:HK$
221.8
《
武人琴音(十周年纪念版 逝去的武林系列收官之作 形意拳一门三代:尚云祥、韩伯言、韩瑜的人生故事 凸显百年武人命运)
》
售價:HK$
43.7
《
剑桥斯堪的纳维亚戏剧史(剑桥世界戏剧史译丛)
》
售價:HK$
154.6
《
禅心与箭术:过松弛而有力的生活(乔布斯精神导师、世界禅者——铃木大拙荐)
》
售價:HK$
66.1
《
先进电磁屏蔽材料——基础、性能与应用
》
售價:HK$
221.8
《
可转债投资实战
》
售價:HK$
99.7
《
王氏之死(新版,史景迁成名作)
》
售價:HK$
54.9
《
敢为天下先:三年建成港科大
》
售價:HK$
77.3
|
編輯推薦: |
《数值计算方法及其程序实现》可供大学数学类专业和大学理工科专业学生选读, 也可供从事科学计算的工程技术人员以及其他科技人员阅读参考, 是数值方法的入门读物.
|
內容簡介: |
《数值计算方法及其程序实现》力图探索数值计算方法教学的一种新尝试, 立足于数学思维而面向科学计算, 适应应用型人才的培养需要, 内容处理上突出数值计算方法的基本设计和内涵理解. 《数值计算方法及其程序实现》旨在介绍科学计算中常用的数值计算方法及其理论, 包括数值计算方法的意义、插值方法、数值积分与数值微分、非线性方程求根、线性方程组的迭代法和直接法、微分方程的数值解法. 在每章的结构安排上,先有导读、问题分析、基础知识和具体算法分析, 然后是数值实验讨论, 在每章小结中除了本章基本内容总结外, 还介绍算法的**研究现状和应用成果.同时, 为了便于读者学习之用, 每章都配有相应的习题和数值实验题, 以及部分习题答案、计算程序.
|
目錄:
|
目 录
写给读者的话
写给教师的教学建议
前言
第 1 章 引论 1
导读 1
1.1 数值计算方法 2
1.2 误差的种类及其来源 10
1.3 **误差和相对误差 12
1.3.1 **误差和**误差限.12
1.3.2 相对误差和相对误差限.13
1.4 有效数字及其与误差的关系.14
1.4.1 有效数字 14
1.4.2 有效数字与相对误差的关系 15
1.5 误差的传播与估计 16
1.5.1 误差估计的一般公式17
1.5.2 误差在算术运算中的传播.18
1.6 算法的数值稳定性及其注意事项 21
1.6.1 算法的数值稳定性 21
1.6.2 数值计算中应该注意的问题 23
1.7 数值实验 24
小结27
习题 1 27
实验 1 28
秦九韶简介.28
主要参考文献 29
第 2 章 插值方法 31
导读31
2.1 插值概念 32
2.1.1 代数插值问题 32
2.1.2 插值多项式的存在**性.33
2.2 拉格朗日插值公式 34
2.2.1 两点插值 34
2.2.2 三点插值 36
2.2.3 多点插值 38
2.2.4 插值余项 39
2.3 埃特金算法 41
2.4 埃尔米特插值公式 44
2.4.1 泰勒插值 44
2.4.2 埃尔米特插值 45
2.5 分段插值 48
2.5.1 高次插值的龙格现象48
2.5.2 分段插值的概念 49
2.5.3 分段线性插值 50
2.5.4 分段三次埃尔米特插值.51
2.6 样条插值 52
2.6.1 样条函数的概念 52
2.6.2 三次样条插值 53
2.6.3 三次样条插值函数的导出.55
2.7 曲线拟合的*小二乘法 58
2.7.1 直线拟合 59
2.7.2 多项式拟合 60
2.7.3 其他拟合类型 62
2.8 数值实验 63
小结68
习题 2 69
实验 2 70
拉格朗日简介 72
主要参考文献 73
第 3 章 数值积分与数值微分 74
导读74
3.1 数值积分基本概念 75
3.1.1 数值积分法 75
3.1.2 代数精度 76
3.2 插值型数值积分公式 78
3.2.1 低阶插值型数值积分公式.78
3.2.2 牛顿{柯特斯公式 80
3.3 复合数值积分公式 82
3.3.1 复合梯形公式 82
3.3.2 复合辛普森公式 82
3.3.3 变步长梯形公式 83
3.3.4 龙贝格算法 86
3.4 高斯型数值积分公式 90
3.4.1 定义及其特征 90
3.4.2 高斯公式的一般构造法.93
3.5 数值微分 94
3.5.1 差商与微商 94
3.5.2 插值函数与数值微分95
3.5.3 数值积分与数值微分96
3.6 数值实验 97
小结.102
习题 3103
实验 3103
勒让德简介 104
主要参考文献 104
第 4 章 非线性方程求根 106
导读.106
4.1 根的搜索.107
4.1.1 逐步搜索法 扫描法 107
4.1.2 区间二分法 107
4.2 迭代法 109
4.2.1 迭代法的设计思想109
4.2.2 线性迭代的启示 111
4.2.3 压缩映像原理 112
4.2.4 迭代法的局部收敛性.115
4.2.5 迭代法的收敛速度116
4.3 牛顿法 116
4.3.1 牛顿公式及误差分析.117
4.3.2 牛顿法的局部收敛性.119
4.3.3 牛顿法的应用及算法.119
4.4 牛顿法的改进与变形121
4.4.1 牛顿下山法 121
4.4.2 弦截法 123
4.4.3 快速弦截法 123
4.5 数值实验.124
小结.134
习题 4134
实验 4135
牛顿简介 135
主要参考文献 136
第 5 章 线性方程组的迭代法 138
导读.138
5.1 雅可比迭代法和高斯{赛德尔迭代法 139
5.1.1 雅可比迭代法 139
5.1.2 高斯{赛德尔迭代法.142
5.2 迭代法的收敛性.145
5.2.1 迭代收敛的概念 146
5.2.2 严格对角占优阵的概念.146
5.2.3 迭代收敛的一个充分条件 147
5.3 超松弛迭代 148
5.4 数值实验.150
小结.154
习题 5155
实验 5156
雅可比简介 156
主要参考文献 157
第 6 章 线性方程组的直接法 158
导读.158
6.1 追赶法 159
6.1.1 二对角方程组的回代过程 159
6.1.2 追赶法 160
6.2 消去法 163
6.2.1 高斯消去法 163
6.2.2 高斯{若尔当消去法.166
6.2.3 高斯主元素消去法167
6.3 收敛性 170
6.3.1 病态方程组 170
6.3.2 精度分析 173
6.4 数值实验.173
小结.180
习题 6181
实验 6182
高斯简介 182
主要参考文献 183
第 7 章 微分方程的数值解法 185
导读.185
7.1 欧拉方法.186
7.1.1 欧拉格式 186
7.1.2 单步法的局部截断误差和阶 189
7.1.3 梯形方法 190
7.1.4 改进的欧拉格式 191
7.2 龙格{库塔方法192
7.2.1 龙格{库塔方法的设计思想 192
7.2.2 龙格{库塔方法的推导.194
7.3 亚当姆斯方法 196
7.3.1 亚当姆斯格式 196
7.3.2 亚当姆斯预报-校正系统 198
7.4 收敛性和稳定性.198
7.4.1 收敛性 198
7.4.2 稳定性 199
7.5 方程组和高阶方程的情形 200
7.5.1 一阶方程组 200
7.5.2 高阶方程 201
7.6 数值实验.201
小结.206
习题 7207
实验 7208
欧拉简介 208
主要参考文献 209
部分习题参考答案 211
|
內容試閱:
|
第 1 章 引 论
导 读
数值计算方法[1.14] 的历史源远流长, 自有数学以来就有关于数值计算方面的 研究. 公元前 2000 年古巴比伦就有对开方运算的研究, 公元 13 世纪我国南宋数学 家秦九韶提出了多项式的计算方法, 以及公元 3 世纪我国数学家刘徽提出的 \割圆 术" 都是数值计算方面的杰出成就. 数值计算的理论和方法是在解决数值问题的长 期实践过程中逐步形成和发展起来的, 由于受到计算工具的限制, 它的理论和方法 发展十分缓慢. 随着计算机和科学技术的发展, 数值计算方法也得到了空前的发展, 已经成为与计算机密切结合的科学计算, 并广泛应用于机电产品的设计、建筑工程 项目的设计、气象和新型尖端武器的研制、火箭的发射等国防尖端技术, 这些技术 都有大量复杂的数值计算问题亟待解决, 它们的复杂程度已达到远非人工手算 包括使用计算器等简单的计算工具 所能解决的地步.
数值计算方法主要是讨论借助于计算机研究求解各种数学问题的数值计算方 法及其理论与软件实现, 其目的是用简单的算术运算求解复杂的数值问题, 并设计 和评价由给出数据计算数值结果的方法, 这些方法即为算法, 因此, 数值计算方法 也可以称为计算方法. 数值计算方法虽然也主要是以数学问题为研究对象,但它不 像纯数学那样只研究数学本身的理论, 而是把理论与计算机紧密结合, 着重研究数学问题的数值方法及其理论, 也深刻地体现了数学的应用性和应用数学的特点. 因此, 数值计算方法既有纯数学高度抽象性与严密科学性的特点, 又有应用数学的广泛性与试验的高度技术性的特点, 是一门与计算机使用密切结合的实用性很强的数学课程.
用数值计算的方法来解决工程实际和科学技术中的具体问题时, 首先必须将具体问题抽象为数学问题, 即建立能描述实际问题的数学模型, 例如, 各种微分方程、积分方程、代数方程等;然后选择合适的计算方法 算法、计算机语言 MAT- LAB、C++ 等, 编写出计算程序, *后上机调试进行计算, 得出所求解的结果 数值结果. 因此, 用计算机解决工程实际问题的步骤可以归纳如下:
数值计算方法中的算法就是数学中的计算公式吗?对于同一个计算问题能够给出多种求解的算法吗?用什么样的标准去衡量一个算法的合理性和有效性?
1.1 数值计算方法
问题 1.1 算法的含义 所谓算法 数值计算方法, 是由基本运算及规定的运算顺序所构成的完整的解题步骤. 算法的内涵是构造性的数值方法, 即不但要论证问题的可解性, 而且解的结构是通过数值演算过程来完成的. 下面通过例子来进一步说明算法的内涵, 帮助读者理解.
例 1.1 证明:一元二次方程 x2 + bx + c = 0 至多有两个不同的实根, 其中b; c 均为实数.
证明 下面给出三种解法.
1 图解法 将方程 x2 + bx + c = 0 配方后得到上式左端为抛物线 y = μx + b, 如果抛物线与 x 轴有交点, 其横坐标即为所求的实根, 而且交点至多只有两个.
2 反证法 假设方程 x2 + bx + c = 0 有三个互异的实根 x1, x2 和 x3, 则有
式 1.1、1.2 分别减去式 1.3 得
x1 + x2 + b = 0;
x1 + x3 + b = 0;
从而有 x2 = x3, 这与假设矛盾.
3 公式法 根据一元二次方程的求根公式有
上述三种方法中, 图解法是构造性的, 但不是数值的;反证法不是构造性的. 这里所说的算法", 不只是单纯的数学公式, 而且是指由基本运算及规定的运算顺序所构成的完整的解题步骤. 一般可以通过框图 流程图 来较直观地描述算法的全过程, 图 1-1 为求解一元二次方程 x2 + bx + c = 0 的流程图.
图 1-1 流程图
问题 1.2 研究算法的意义 同一个数学问题可能有多种数值计算方法, 但不一定都是有效、可用的. 评价一个算法的好坏主要有两条标准:计算结果的精度以及所付出的代价. 一个好的算法当然应该要满足精度要求且代价小, 这里的代价往往包括时间复杂性和空间复杂性. 时间复杂性好是指节省时间, 运算速度快, 主要由运算次数来决定;空间复杂性好是指节省储存量, 主要由使用的数据量决定.
下面将通过两个实例来说明合理地选择算法可以使时间复杂性更好.
例如, 线性方程组的行列式求解方法 Gramer 法则 在理论上可以求解任意阶线性方程组. 用 Gramer 法则求解一个 n 阶方程组, 要计算 n + 1 个 n 阶行列式的 , 为此总共需要做 n!n . 1n + 1 次乘法. 当 n 充分大时, 这个计算量是相当大 的, 手工算法是完全不切实际的, 那么是不是现代超级计算机就很容易计算呢?可 以简单来验证一下. 例如, 一个 20 阶不算太大的线性方程组, 大约要做 1021 次乘 法, 用运算速度为 5.49 亿亿次每秒的天河-2 号计算机计算, 大约花费的时间为
从计算结果来看, 即使选择运算如此神速的计算机计算也需要连续工作 5 小 时才能完成, 事实上, 求解线性方程组有许多实用的算法:直接法和迭代法 第 5 章 和第 6 章 等, 用普通的计算机也能很快地求解 20 阶的线性方程组.
又例如, 当计算多项式
的值时, 若直接计算 an.ixii = 1; 2; ¢ ¢ ¢ ; n, 再逐项相加, 共需做
次乘法和 n 次加法. 如当 n = 10 时, 需要 55 次乘法和 10 次加法.
若将多项式 px 改写成
即从里往外一层一层地计算.
设用 vk 表示第 k 层 从里面数起 的值
那么, 第 k 层的结果 vk 显然等于第 k . 1 层的结果 vk.1 层乘以 x 再加上系数 ak,
即
显然, 上述求解多项式的算法只需做 n 次乘法和 n 次加法, 如当 n = 20 时, 只要 做 20 次乘法和 20 次加法, 与前面进行对比, 可见算法的优势直接影响计算的速度 和效率. 上述计算多项式的方法是我国南宋大数学家秦九韶提出的秦九韶算法, 其计算量远比前述逐项生成算法的计算量小, 说明秦九韶算法是一种优秀算法. 国外 文献常称这一算法为 Horner 算法, 而 Horner 的工作比秦九韶晚了五六百年.
因此, 即便对于计算机如此发达的今天, 选定合适的算法仍然是整个数值计算方法研究中非常重要的一个问题. 值得说明的是, 对于小型问题, 计算的速度和占用 计算机内存的多寡似乎意义不大, 但对于复杂的大型问题, 却起着决定性作用. 数 值计算方法除了构造算法, 还涉及许多理论问题, 包括算法的收敛性、稳定性及其 误差分析. 除了理论分析外, 一个数值算法是否有效, *终还要通过大量的数值试 验来检验. 数值计算方法具有理论性、实用性和实践性都很强的特点, 可以归纳为 以下四点:
i 面向计算机, 能根据计算机特点提供切实可行的有效算法;
ii 有可靠的理论分析, 可以任意逼近并达到精度要求, 对近似算法要保证收 敛性和数值稳定性, 还要对误差进行必要分析;
iii 要有好的计算复杂性, 即时间复杂性和空间复杂性;
iv 通过大量数值试验验证其算法的有效性.
问题 1.3 算法设计中的基本要求与技术 在问题 1.2 中已经了解, 即使计算 机的运算速度如此神速, 也并不意味着计算机的算法可以随意地选择, 能否合理地 选择算法是科学计算成败及其结果有用性的关键. 算法重在设计思想, 设计思想重 在追求简单与统一. 简单是重视基础的算法, 是用*简单的算法去解释*复杂的问 题. 统一是强调算法的共性, 是用一类算法去解决所有复杂的问题. 在算法的设计 中始终要围绕 \计算复杂性" 和 \计算精度"" 两个问题进行设计, 因此, 可以将常用 的算法设计技巧分为 \减模"" 和 \提精"" 两类.
|
|