数值分析
王云诚
办公室:文理大楼1207
电话:8249346
E-mail: ycwang@sdau.edu.cn
2014年9月10日
关于教学参考书的建议
1.科学和工程计算基础。施妙根、顾丽珍编。清华大学出版社,1999。
2.数值分析(第五版)。李庆扬、王能超、易大义编,清华大学出版社,2008。
3.科学计算导论(第二版)。Michael T. Heath著。清华大学出版社,2005。
课程成绩判定
平时成绩:40%(考勤) 期末成绩:60%(开卷)
第一章 绪论
§1 数值分析的几个基本问题
一、用数学方法解决科学与工程问题的步骤
实际问题
建立数学模型
求解数学模型的计算方法(本课程针对基本模型)
编程,并上机计算 求出问题的结果。
二、研究对象
用计算机求解数学模型的计算方法:
数值运算符号运算
本课程研究:数值计算方法
三、研究内容
(1)数值代数:线性方程组的解法,求矩阵
的特征值与特征向量。
(2)函数逼近:插值法,数值微分和数值积分,数据拟合。
(3)方程求解:非线性方程(组)、常微分方程数值解法。
四、研究数值计算方法的意义 (1)很多数学模型不能用公式求解 (2)手工求解计算量巨大 (3)新的数学模型不断被提出
五、算法设计的基本思想 基本思想一:连续问题离散化
计算机只能计算离散点的函数值,对于连
续取值的问题,必须通过离散化方法解决。
【例1】 计算函数在一个区间上的定积分。只能利用区间上有限个点(逐步增多)处的函数值,计算处定积分的近似值。
【例2】 求常微分方程定解问题的解。理论上它的解是一个区间上的函数,但用计算机只能求出离散点处方程的近似解。
基本思想二:迭代法
大多数数学模型的解,不能通过一次计算得到,而需要采用逐步逼近的方式,求出其满足一定精度要求的近似解。
【例3】 求非线性方程f(x)0的根,一
般方法是构造一个近似解序列,使序列收敛到方程的解。
【例4】 大规模线性方程组,一般方法是构造一个近似解向量序列,使序列收敛到方程的解。
基本思想三:局部近似 (1)以直代曲
【例5】 求非线性方程f(x)0的根x。
*x牛顿法:在当前近似根k处作曲线
yf(x)的切线,该切线与x轴的交点作为
xk1,由此产生的点列xk在一定条件下可收
敛到方程的根x。
*
(2)化整为“零”后近似
【例6】 计算定积分基本思路:
——将曲边梯形分割为若干小曲边梯形; ——将曲边梯形用矩形或者梯形近似; ——以小矩阵面积的和近似曲边梯形的面积。
baf(x)dx的值。
y y=f(x) 0 ax0x1x2xi1xixn1xnbx 事实上,“以直代曲”的思路”,可以推广到“以简代繁”。
譬如,计算定积分值的“以直线代曲线”,可以“以抛物线代曲线”。
六、算法应具备的特性
(1)算法应是计算机可执行的; (2)算法要有理论分析作支持:包括收敛性,收敛速度,数值稳定性,误差分析等;
(3)算法要有好的计算复杂性:时间复杂性,空间复杂性;
(4)算法要有数值实验验证。
§2 数值计算的误差
采用数值计算方法,一般只能得到问题的近似解。研究算法产生误差的原因,以及得到的近似解与问题的精确解之间的“近似程度”是必要的。
一、误差的分类 1.截断误差
截断误差也叫做公式误差。在科学计算中,计算一个数学问题,常采用近似公式。近似公式带来的误差称为截断误差。
【例7】 计算
xxxsinxx 3!5!7!x(1)R2n1(x) (2n1)!n2n1357用多项式
xxxxnx(1)3!5!7!(2n1)!
近似sin差。
【例8】 计算
3572n1x带来的误差R2n1(x)叫做截断误
baf(x)dx也要用近似公
式,两者之间的误差叫做近似公式的截断误差。
2.舍入误差
计算机存储实数时,只能保存有限位,通常采用“四舍五入”近似,这一误差叫做舍入误差。
舍入误差很难分析,因此,在误差分析方面,本课程主要研究算法的截断误差。
二、误差的概念 1.绝对误差
定义:设x为准确值(真值),x为x的
***一个近似值,称E(x)xx为近似值x的绝对误差,简称误差。
*绝对误差可能是正的,也可能是负的。
由于准确值
*x通常是不知道的,所以绝对
误差E(x)实际上也无法准确度量。通常根据
*E(x)算法估计的一个上界(x),叫做近似
*值x的误差界(或误差限),即
*E(x)xx(x).
误差限不依赖于准确值x,并且不是唯一的。通常误差限要尽可能小,它取决于误差分析的技术水平。
***2.相对误差
定义:当x0时,称
E(x)Er(x)x
**为近似值x的相对误差。
在实际计算中,由于准确值x是未知的,通常取
**E(x)E(x)*x,
*r*作为x相对误差,并取
*(x)*r*(x)x**
作为
x*的相对误差限。
问题:相对误差限的上述两种定义,何时“基本相等”?
E(x)E(x)*结论:当 x的绝对值较小时。
*r**这是因为
E(x)E(x)E(x)(xx)**xxxx*E(x)2(*)*2(E(x))x**0** E(x)x(xE(x))1(*)x****E(x)E(x)*因此,xx。
**
【例9】 已知e其近似值为e*2.71828182,
*2.71828,求e的绝对
*误差限和相对误差限
r。
解
:因Ee*e0.00000182,
所以
E0.000001820.000001831.83106从而可取e*的绝对误差限为:
1.83106。
又
为
E1.8310**e2.71828e660.67106.810**e所以可取的相对误差限r为:
7
6.810
3.有效数字
*r7。
如果一个实数的精确值有无限多位,或位数很多,计算机一般按“四舍五入”取其近似值(单精度8位,双精度16位)。
例如:按“四舍五入”的规则,
3.14159265
取3位近似值得
3.14,1233.1410
2取5位近似值,得
*3.1416,1453.141610
2由于上述两个近似值是按“四舍五入”得到的,它们的绝对误差的绝对值都不超过近似值末位数字的半个单位。
除了绝对误差和相对误差,还可以用“有效数字”描述近似数的“近似程度”。
*定义:如果x的误差绝对值不超过某一个数字的半个单位,且该数字到x的第一位非零数字共有n位,则称用x近似x时具有n***位有效数字。
注意:这一定义中,近似值有限位小数。
如何判别有效数字的位数?
情形一:如果x是四舍五入后得到的近似值,并且x从左面第一位非零数字到最后一位数字共有n位,则x具有n位有效数字。
***x*不一定是
例如: 取*3.14作为的近似值,有3
*位有效数字;
取*3.1416作为的近似值,有5
*位有效数字。
情形二:将x表达为
*x100.12n
其中k是某个整数,1,,n为0~9中的数字,并且10。
根据定义,当且仅当
*k时,x恰有n位有效数字;仅右面的不等式
*1(n1)*10(10)xx21kn10(10)2k*
成立时,x至少具有n位有效数字。
例如:
22用7作为
*3.1415926
的近似值,有几位有效数字? 因为
22100.3142857*,
114*310(10)10(10)所以22*有
3位有效数字。
如果一个准确值有n1位(首位不等于0),当末位按“四舍五入”处理后,得到的n位近似值一定有n位有效数字。
下面的定理反映了相对误差与有效数字的关系。
定理 设
x*是
x的近似值,则x*的有
效数字与x*的相对误差之间有如下关系:(1)若x*具有n位有效数字,则x*相对误差
e*r满足
e*1n1r210 (2)若x*的相对误差
e*r满足
e*r1n210 则x*至少有n位有效数字。
证明 设x*表示为
的
x100.12则
*kn
其中1,,n为0~9中的数字,并且10。
10*k1x10
*k(1)当x具有n位有效数字时,按定义,有
1nxx10(10) 2*k从而
e*rxxx**1n1102
(2)当
*rx*的相对误差
e满足
*r1ne10时,有 21nxxx1021kn10(10)
2**因此,x至少有n位有效数字。
这个定理说明,近似值的有效数字位数越多,即n越大,相对误差就越小;反之,相对误差越小,则有效数字的位数就可能越多。
三、数值运算的误差
当自变量有误差时,一般地,其函数值也有误差。
误差——可能是截断误差
*——也可能是舍入误差
1.一元函数的误差 设x是准确值*x的近似值,则函数f(x)的近似值为f(x*)。
由于
f(x)f(x*)f()(xx*),
介于x与x*之间,
所以
f(x)f(x*)f()(xx*)
从而
(f(x*))f()(x*)
2. 多元函数的误差
f(x,x,,x)12n对于多元函数,设自变
x,x,,x量的近似值分别为
E(f(x,x,,x)*1*2*n*1*2*n*1*2*n,则
f(x,x,,x)f(x1,x2,,xn)
f*|(x*,x*,,x*)e(x1)x112nf*|(x*,x*,,x*)e(xn)xn12n于是误差限
(f(x,x,,x)k1n*1*2*nf*|(x*,x*,x*)(xk)xk12n
特别
(xx)(x)(x)*1*2*1*2*2*1*1*2*1*2
(xx)x(x)x(x)(x*/x*12)
****x1(x2)x2(x1)x*22
因篇幅问题不能全部显示,请点此查看更多更全内容