简介
前言第1章 绪论 11.1 计算方法的研究对象与特点 11.2 误差 31.2.1 绝对误差与绝对误差限 31.2.2 相对误差与相对误差限 31.2.3 有效数字 31.2.4 误差的传播 41.3 数值计算中应注意的一些原则 61.4 MATLAB解题示例 8习题1 10实验1 11第2章 插值法 122.1 插值多项式定义 122.2 插值多项式的存在唯一性与余项 132.3 拉格朗日插值多项式 142.4 牛顿插值多项式 162.4.1 差商的概念 162.4.2 差商性质 172.4.3 牛顿插值多项式及余项 182.5 埃尔米特插值多项式 202.5.1 埃尔米特插值多项式定义 202.5.2 埃尔米特插值多项式的构造 202.5.3 埃尔米特插值多项式的唯一性 212.5.4 余项 212.6 分段线性插值 232.6.1 龙格现象 232.6.2 分段线性插值 242.7 三次样条插值 252.7.1 三次样条插值函数的定义 252.7.2 确定三次样条插值函数的条件分析 252.7.3 三次样条插值函数的构建 252.7.4 三次样条插值函数的误差界与收敛性 272.8 MATLAB解题举例 28习题2 34实验2 36第3章 曲线拟合的最小二乘法 373.1 曲线拟合与最小二乘法 373.2 多项式拟合函数 403.3 用正交多项式作最小二乘拟合 413.4 矛盾方程组的最小二乘解 443.5 MATLAB解题举例 46习题3 50实验3 51第4章 数值积分 524.1 数值求积的基本思想 524.2 代数精度 544.3 插值型求积公式 554.4 牛顿-科茨公式 554.5 偶阶求积公式的代数精度 584.6 复化求积公式 584.6.1 梯形求积公式的余项 594.6.2 辛普森求积公式的余项 594.6.3 复化梯形求积公式 594.6.4 复化辛普森求积公式 604.6.5 Sn与Tn的关系 614.7 复化梯形求积公式的递推化 624.7.1 梯形的递推化算法 624.7.2 误差的事后估计与补偿值 624.7.3 梯形递推化公式的实现算法 634.8 龙贝格算法 644.8.1 理查森外推加速法 644.8.2 龙贝格求积算法 664.9 高斯型求积公式 674.9.1 高斯型求积公式的定义 674.9.2 高斯型求积公式的求法 684.9.3 高斯点的特性 684.9.4 高斯型求积公式的余项 694.9.5 高斯型求积公式的稳定性 694.9.6 高斯-勒让德求积公式 704.10 MATLAB解题举例 72习题4 74实验4 75第5章 非线性方程求根 77 5.1 根的隔离 77 5.2 两分法 78 5.3 迭代法 80 5.3.1 迭代法的基本思想 805.3.2 迭代法的几何意义 805.3.3 迭代法的收敛性 815.3.4 局部收敛性 825.3.5 收敛速度 825.3.6 迭代过程的加速 835.4 牛顿法 855.5 弦截法 875.6 MATLAB解题举例 90习题5 92实验5 93第6章 线性方程组的数值求解 946.1 高斯顺序消去法 946.1.1 高斯顺序消去法思想 946.1.2 高斯顺序消去法与矩阵分解 966.2 高斯列主元消去法 1016.3 高斯全主元消去法 1036.4 平方根法 1046.4.1 实对称正定矩阵的三角分解 1046.4.2 改进的平方根算法 1056.5 追赶法 107 6.6 向量与矩阵范数 108 6.6.1 向量范数 1086.6.2 向量范数的性质 1096.6.3 向量序列的收敛性 1106.6.4 矩阵范数及性质 1116.7 误差分析 114 6.7.1 方程组的病态性 1146.7.2 矩阵的条件数 1156.8 迭代法 116 6.8.1 迭代法与向量序列的敛散性 1166.8.2 矩阵序列的收敛性 1166.8.3 迭代法基本定理 1196.8.4 雅可比迭代法 1206.8.5 高斯-塞德尔迭代法 1216.8.6 雅可比迭代与高斯-塞德尔迭代的收敛定理 1236.9 MATLAB解题举例 124 习题6 127实验6 129第7章 常微分方程初值问题的数值解法 131 7.1 微分方程数值解法 131 7.2 欧拉公式 131 7.2.1 显式欧拉公式 1317.2.2 显式欧拉公式的几何意义 1327.2.3 局部截断误差 1327.2.4 隐式欧拉公式 1337.2.5 梯形公式 1347.2.6 改进的欧拉公式 1357.3 龙格-库塔方法 136 7.3.1 二阶龙格-库塔公式 1367.3.2 四阶龙格-库塔公式 1387.4 单步法的收敛性 138 7.5 单步法的稳定性 140 7.6 线性多步法 143 7.6.1 线性多步法的一般公式 1437.6.2 线性多步公式的构造 1437.6.3 四阶亚当斯显式公式 1447.6.4 四阶亚当斯隐式公式 1457.6.5 亚当斯预校系统 1467.6.6 改进的亚当斯预校系统 1467.7 MATLAB解题举例 147 习题7 152实验7 153部分习题答案 155 实验题参考解答 161 参考文献 197
目录
第1章 绪 论
1.1 计算方法的研究对象与特点
为了阐明计算方法的研究对象与特点,我们来考察两个例子.
例1.1 求函数 在 处的函数值.
解 由于 是一个无理数,无法计算其精确值.而 的泰勒展开式
提供了一个计算 近似值的方法.如果记
则 .当 充分大时,有 ,且截断误差为
由于 的具体取值不确定,无法准确给出截断误差,只能给出截断误差的上界
如果取计算精度为 ,为使 作为 的近似值达到精度要求,需使 的取值满足 .这种误差估计方法称为误差的事前估计法.
有了计算 近似值的数学模型,还应将它转化成为方便计算机编程的有效算法.
设 ,取 ,则 , .
根据上述递推式,可设计以下算法:
第1步 置初值 , , .
第2步 当 时,反复执行以下操作:
第3步 输出 .
根据所设计的算法,可编写以下MATLAB程序.
s=1;a=1;n=1;
while 3*a>10^(?8)/2
s=s+a;
a=a/(n+1);
n=n+1;
end
fprintf('e的近似值为s(%2d)=%10.8f\n',n,s)
该程序的运行结果为:e的近似值为s(13)=2.71828183.
例1.2 求函数 在 上零点.
解
在 上恒正, ,故 在 上存在着唯一零点 . 为无理数,无法给出其精确值,为了获得它的近似值,需要寻找一个有效的计算方法.
考虑由以下递推式所生成的数列 :
显然 , ,即数列 的下界为 ,而 , ,即数列 单调下降.据单调有界数列存在极限的准则, 存在,设 .
对 两边取极限,有 ,解得 ,即 ,由极限理论可知,当 充分大时,有 .
由于 未知,绝对误差 无法确定.据极限理论,当 充分大时,有 ,如果取计算精度为 ,当近似误差时,取 作为 满足精度要求的近似值,这种误差估计方法称为误差的事后估计法.
有了计算 近似值的数学模型,还应将它转化成为适合计算机编程的有效算法.
第1步 置初值 , , .
第2步 当 时,反复执行以下操作:
第3步 输出 .
根据上述算法,可很方便地撰写MATLAB程序代码.
x1=2;n=1;err=1;
while err>10^(?8)/2
x2=(x1+2/x1)/2;
err=abs(x2?x1);
n=n+1;
x1=x2;
end
fprintf('2的平方根的近似值为x(%1d)=%10.8f\n',n,x1)
该程序的运行结果为:2的平方根的近似值为x(6)=1.41421356.
由上述两例可以看出,计算方法(或数值计算方法)是研究数学问题求数值解的方法和有关理论的一门学科.其主要特点是,首先创建一个适用于求数学问题数值解的离散化的数学模型,并设法将该数学模型改造成为一个递推化的数学模型.为了便于计算机求解,需要设计一个面向计算机编程的有效算法.为了保证计算精度,还需要进行误差估计.
1.2 误差
1.2.1 绝对误差与绝对误差限
定义1.1 设 为精确值, 为近似值, ,分别称 和 为 作为 近似的误差和绝对误差.
由于 通常是未知的,所以 无法准确求出,但可以估计出 不超过某个正数 .
定义1.2 若 ,称 为 作为 近似的绝对误差限或精度.
1.2.2 相对误差与相对误差限
定义1.3 记 ,称 为 作为 近似的相对误差.
一般情况下,由于 未知,常常使用 .
定义1.4 若 ,称 为 作为 近似的相对误差限.
1.2.3 有效数字
设 为实数,如果 ,其中, 为0~9的自然数,且 , 为整数,则称 被表示成为m阶码的形式.
例如, 的m阶码表示形式为 .
定义1.5 设 ,若 ,则称 作为 的近似具有 位有效数字.
例1.3 如果精确值 ,而测量值 ,问测量值 作为精确值 的近似,具有几位有效数字?
解 故 具有2位有效数字.
定理1.1 如果 具有 位有效数字,则其相对误差限为
.反之,如果 ,则 至少具有 位有效数字.
证明
由 ,有 .
如果 具有 位有效数字,有
如果 ,有
例1.4 要使 的近似值的相对误差限小于0.5%,需至少取几位有效数字?
解
因为 , ,欲使相对误差限满足
解得 ,可取 .即当近似值至少取4位有效数字时,其相对误差限小于0.5%.
1.2.4 误差的传播
将带有误差的数据进行数据计算,误差在运算过程中会进行传播,必然导致计算结果出现误差.精确值 通常与近似值 很接近,其差可以认为是较小的增量,即可以把误差看做微分,由此可得
这表明: 的微分表示 的误差, 的微分表示 的相对误差.
根据上式可以得到算术运算的误差,以 ? 两数为例,则
例1.5 已知某场地长 的值为 m,宽 的值 为80m,且 m, m,试求面积 的绝对误差限与相对误差限.
解 (m2)
或者
在计算函数值 时,当自变量 取近似值 ,即 取值带有误差时,其计算得到的函数值也会有误差,而 的误差可以简单地用以下公式来作近似估计:
( 在 与 之间)
近似地可取
或者
例1.6 已知 ,由于 的精确值未知,如果取近似值 ,代入上述表达式进行计算,试判断哪一个表达式的计算效果最佳.
解
比较可知,表达式 的计算效果最佳.
1.3 数值计算中应注意的一些原则
在数值计算时,每一步运算都可能产生误差或误差传播,而一个复杂的科学计算或工程技术问题的解决,往往要运算成千上万次,甚至亿万次,如果每一步运算都要进行误差分析,显然是不可能的,也是不必要的.人们通过对误差传播规律的分析,提出在数值计算中应该遵循的原则,在数值计算中遵循了这些原则,可以将误差控制在估计的范围内.
1. 选用数值稳定的算法
例1.7 数列 满足递推公式 ,若取 的近似值 (3位有效数字),求 的误差.
解
由于初值 的误差 ,随着 的增大, 的误差 越来越严重,造成计算结果 的严重失真.这表明,上述递推算式是一个数值不稳定的算法.
2. 避免两个相近数的相减
在数值计算中,两个相近数相减时,会损失有效数字,导致相对误差变大.
例1.8 设 ,若取 来计算 ,并使其近似值具有3位有效数字,应选择怎样的算式?
解
取 作为 的近似值,它具有3位有效数字.
如果直接用算式 来计算
其结果只有1位有效数字.
1.1 计算方法的研究对象与特点
为了阐明计算方法的研究对象与特点,我们来考察两个例子.
例1.1 求函数 在 处的函数值.
解 由于 是一个无理数,无法计算其精确值.而 的泰勒展开式
提供了一个计算 近似值的方法.如果记
则 .当 充分大时,有 ,且截断误差为
由于 的具体取值不确定,无法准确给出截断误差,只能给出截断误差的上界
如果取计算精度为 ,为使 作为 的近似值达到精度要求,需使 的取值满足 .这种误差估计方法称为误差的事前估计法.
有了计算 近似值的数学模型,还应将它转化成为方便计算机编程的有效算法.
设 ,取 ,则 , .
根据上述递推式,可设计以下算法:
第1步 置初值 , , .
第2步 当 时,反复执行以下操作:
第3步 输出 .
根据所设计的算法,可编写以下MATLAB程序.
s=1;a=1;n=1;
while 3*a>10^(?8)/2
s=s+a;
a=a/(n+1);
n=n+1;
end
fprintf('e的近似值为s(%2d)=%10.8f\n',n,s)
该程序的运行结果为:e的近似值为s(13)=2.71828183.
例1.2 求函数 在 上零点.
解
在 上恒正, ,故 在 上存在着唯一零点 . 为无理数,无法给出其精确值,为了获得它的近似值,需要寻找一个有效的计算方法.
考虑由以下递推式所生成的数列 :
显然 , ,即数列 的下界为 ,而 , ,即数列 单调下降.据单调有界数列存在极限的准则, 存在,设 .
对 两边取极限,有 ,解得 ,即 ,由极限理论可知,当 充分大时,有 .
由于 未知,绝对误差 无法确定.据极限理论,当 充分大时,有 ,如果取计算精度为 ,当近似误差时,取 作为 满足精度要求的近似值,这种误差估计方法称为误差的事后估计法.
有了计算 近似值的数学模型,还应将它转化成为适合计算机编程的有效算法.
第1步 置初值 , , .
第2步 当 时,反复执行以下操作:
第3步 输出 .
根据上述算法,可很方便地撰写MATLAB程序代码.
x1=2;n=1;err=1;
while err>10^(?8)/2
x2=(x1+2/x1)/2;
err=abs(x2?x1);
n=n+1;
x1=x2;
end
fprintf('2的平方根的近似值为x(%1d)=%10.8f\n',n,x1)
该程序的运行结果为:2的平方根的近似值为x(6)=1.41421356.
由上述两例可以看出,计算方法(或数值计算方法)是研究数学问题求数值解的方法和有关理论的一门学科.其主要特点是,首先创建一个适用于求数学问题数值解的离散化的数学模型,并设法将该数学模型改造成为一个递推化的数学模型.为了便于计算机求解,需要设计一个面向计算机编程的有效算法.为了保证计算精度,还需要进行误差估计.
1.2 误差
1.2.1 绝对误差与绝对误差限
定义1.1 设 为精确值, 为近似值, ,分别称 和 为 作为 近似的误差和绝对误差.
由于 通常是未知的,所以 无法准确求出,但可以估计出 不超过某个正数 .
定义1.2 若 ,称 为 作为 近似的绝对误差限或精度.
1.2.2 相对误差与相对误差限
定义1.3 记 ,称 为 作为 近似的相对误差.
一般情况下,由于 未知,常常使用 .
定义1.4 若 ,称 为 作为 近似的相对误差限.
1.2.3 有效数字
设 为实数,如果 ,其中, 为0~9的自然数,且 , 为整数,则称 被表示成为m阶码的形式.
例如, 的m阶码表示形式为 .
定义1.5 设 ,若 ,则称 作为 的近似具有 位有效数字.
例1.3 如果精确值 ,而测量值 ,问测量值 作为精确值 的近似,具有几位有效数字?
解 故 具有2位有效数字.
定理1.1 如果 具有 位有效数字,则其相对误差限为
.反之,如果 ,则 至少具有 位有效数字.
证明
由 ,有 .
如果 具有 位有效数字,有
如果 ,有
例1.4 要使 的近似值的相对误差限小于0.5%,需至少取几位有效数字?
解
因为 , ,欲使相对误差限满足
解得 ,可取 .即当近似值至少取4位有效数字时,其相对误差限小于0.5%.
1.2.4 误差的传播
将带有误差的数据进行数据计算,误差在运算过程中会进行传播,必然导致计算结果出现误差.精确值 通常与近似值 很接近,其差可以认为是较小的增量,即可以把误差看做微分,由此可得
这表明: 的微分表示 的误差, 的微分表示 的相对误差.
根据上式可以得到算术运算的误差,以 ? 两数为例,则
例1.5 已知某场地长 的值为 m,宽 的值 为80m,且 m, m,试求面积 的绝对误差限与相对误差限.
解 (m2)
或者
在计算函数值 时,当自变量 取近似值 ,即 取值带有误差时,其计算得到的函数值也会有误差,而 的误差可以简单地用以下公式来作近似估计:
( 在 与 之间)
近似地可取
或者
例1.6 已知 ,由于 的精确值未知,如果取近似值 ,代入上述表达式进行计算,试判断哪一个表达式的计算效果最佳.
解
比较可知,表达式 的计算效果最佳.
1.3 数值计算中应注意的一些原则
在数值计算时,每一步运算都可能产生误差或误差传播,而一个复杂的科学计算或工程技术问题的解决,往往要运算成千上万次,甚至亿万次,如果每一步运算都要进行误差分析,显然是不可能的,也是不必要的.人们通过对误差传播规律的分析,提出在数值计算中应该遵循的原则,在数值计算中遵循了这些原则,可以将误差控制在估计的范围内.
1. 选用数值稳定的算法
例1.7 数列 满足递推公式 ,若取 的近似值 (3位有效数字),求 的误差.
解
由于初值 的误差 ,随着 的增大, 的误差 越来越严重,造成计算结果 的严重失真.这表明,上述递推算式是一个数值不稳定的算法.
2. 避免两个相近数的相减
在数值计算中,两个相近数相减时,会损失有效数字,导致相对误差变大.
例1.8 设 ,若取 来计算 ,并使其近似值具有3位有效数字,应选择怎样的算式?
解
取 作为 的近似值,它具有3位有效数字.
如果直接用算式 来计算
其结果只有1位有效数字.
计算方法
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×