数值分析计算方法复习提纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数值分析总复习提纲
数值分析课程学习的内容看上去比较庞杂,不同的教程也给出了不同的概括,但总的来说无非是误差分析与算法分析、基本计算与基本算法、数值计算与数值分析三个基本内容。
在实际的分析计算中,所采用的方法也无非是递推与迭代、泰勒展开、待定系数法、基函数法等几个基本方法。
一、误差分析与算法分析
误差分析与算法设计包括这样几个方面: (一)误差计算 1、截断误差的计算
截断误差根据泰勒余项进行计算。
基本的问题是(1)1
()(01)(1)!
n n f x x n
,已知ε求n。
例1.1:计算e 的近似值,使其误差不超过10-6。
解:令f(x)=e x ,而f (k)(x)=e x ,f (k)(0)=e 0=1。
由麦克劳林公式,可知
211(01)2!!(1)!
n x x
n x x e e x x n n
当x=1时,1111(01)2!!(1)!
e e n n
故3
(1)(1)!(1)!
n e R n n 。
当n=9时,R n (1)<10-6,符合要求。
此时, e≈2.718 285。
2、绝对误差、相对误差及误差限计算
绝对误差、相对误差和误差限的计算直接利用公式即可。
基本的计算公式是:
①e(x)=x *-x =△x =dx
② *()()()ln r e x e x dx
e x d x x x x
③(())()()()e f x f x dx f x e x ④(())(ln ())r e f x d f x
⑤121212121122121122((,))(,)(,)(,)()(,)()x x x x e f x x f x x dx f x x dx f x x e x f x x e x ⑥121212((,))
((,))(,)
f x x f x x f x x
⑦ x
注意:求和差积商或函数的相对误差和相对误差限一般不是根据误差的关系而是直接从定义计算,即求出绝对误差或绝对误差限,求出近似值,直接套用定义式
()
()r e x e x x
或x
, 这样计算简单。
例1.2:测得圆环的外径d 1=10±0.05(cm),内径d 2=5±0.1(cm)。
求其面积的近似值和相应的绝对误差限、相对误差限。
解:圆环的面积公式为: 2212()4
S d d
所以,圆环面积的近似值为 222(105)58.905()4
S cm
由上述讨论,面积近似值的绝对误差限为
112211222()(2()2())(()())
4
2
(100.0550.1)
2
1.57()
S d d d d d d d d cm
相对误差为
() 1.57
()100% 2.7%58.905
S S S
相对误差要化成百分数。
3、绝对误差、相对误差、有效数字的关系计算
绝对误差、相对误差、有效数字的关系依据如下结论讨论: ①如果一个数
*1231110.(0)n n n x a a a a a a a
其近似值
12310.n n x a a a a a
是对x*的第n+1位进行四舍五入后得到的,则x 有n 位有效数字,且其绝对误差不超过 1
102
n ,即 1
*102
n x x 。
②如果一个数
*1231110.10(0)m n n n x a a a a a a a
的近似值
12310.10m n n x a a a a a
是对x*的第n+1位进行四舍五入后得到的,则x 有n 位有效数字,且其绝对误差不超过 1
102
m n ,即 1
*102
m n x x 。
③设12310.10m n n x a a a a a 是x*的具有n 位有效数字的近似值,则其相对误差限为
11
1102n a
反之,若x 的相对误差限111
102(1)
n a
则x 至少具有n 位有效数字。
例
的近似值,使其绝对误差不超过31
102。
解:因为12
所以,化成12310.10m n n x a a a a a 的形式,有11,1a m 。
而31411
101022
,
所以,由定理2,n=4,
所以近似值应保留4位有效数字。
1.732 。
例
的近似值的相对误差不超过410 ,应取几位有效数字?
(5%)
解:设取n 个有效数字可使相对误差小于410 ,则 141110102n a ,
而34 ,显然13a ,此时,
114111
101010223n n a ,
即141
10106
n , 也即561010n 所以,n=5。
例1.5:已知近似数x 的相对误差限为0.3%,问x 至少有几个有效数字? 解:设x 有n 位有效数字,其第一位有效数字按最不利情况取为9,则
1131111
0.3%10101010002(91)2102210n n n n
由上可得
6101000n ,
n≈2.2,
所以取n=2。
指出:
也可以按首位为1,9分别计算,取较小者。
4、计算方法的余项计算
各种计算方法的余项的计算根据相应的余项定理进行。
(二)误差分析
精度水平的分析主要依据两个结论: 相对误差越小,近似数的精确度越高。
一个近似数的有效数字越多,它的相对误差越小,也就越精确。
反之亦然。
例1.6: 测量一个长度a 为400米,其绝对误差不超过0.5米,测量另一长度b 为20米,其绝对误差不超过0.05米。
问,哪一个测量的更精确些?
解:
0.5
0.125%4000.05
0.25%20
a
a b
b a
b
显然,δa < δb 所以测值a 更准确一些。
答:测值a 更准确一些。
指出:
衡量测量工作的好坏用相对误差。
解决这样的题目就是三个步骤: 第一,求出两个相对误差。
第二,比较两个相对误差的大小。
第三,结论。
(三)算法分析 1、稳定性分析
算法的稳定性通过对计算的误差的扩缩情况进行分析。
例1.7:设近似值T 0=S 0=35.70具有四位有效数字,计算中无舍入误差,试分析分别用递推式
15142.8i i T T 和11
142.85
i i S S
计算T 20和S 20所得结果是否可靠。
解:设计算T i 的绝对误差为e(T i )=T i *-T i ,其中计算T 0的误差为ε,那么计算T 20的误差为
e(T 20)=T 20*-T 20=(5T 19*-142.8)-(5T 19-142.8)=5(T 19*-T 19) =5e(T 19)=52e(T 18)=……=520e(T 0) 显然误差被放大,结果不可靠。
同理,20
2001()()5e S e S
,误差缩小,结果可靠。
指出:
注意理论分析,因此初始近似值本身是不必要的。
2、收敛性分析
算法的收敛性分析主要是迭代法解方程的收敛性分析和迭代法解方程组的收敛性分析,其他计算方法的收敛性分析一般在具体计算过程中体现。
(1)迭代法收敛性判定的基本结论是:
定理(迭代法基本定理):对于任意的f∈R n ,和任意的初始向量x (0)∈R n ,迭代法
x (k+1)=Bx (k)+f(k=0,1,2,…)
收敛的充分必要条件是迭代矩阵B 的谱半径ρ(B)<1。
推论:若1B ,则迭代格式x (k+1)=Bx (k)+f(k=0,1,2,…)收敛。
(2)判定雅可比迭代法、高斯—赛德尔迭代法收敛的基本依据是: 定理: 设线性方程组Ax=b,其系数矩阵为
1112121
2221
2
(0)n n ii n n nn a a a a a a A a a a a
则雅可比迭代法迭代矩阵的特征值满足如下条件:
1112
121
2221
20n
n
n n nn a a a a a a a a a
;
高斯-赛德尔迭代法迭代矩阵的特征值满足如下条件:
111212122212
0n
n
n n nn
a a a a a a a a a。
(3)系数矩阵为严格对角占优矩阵的方程组的迭代法收敛性:
定理:系数矩阵为严格对角占优的线性方程组,它的雅可比迭代和高斯-赛德尔迭代都是收敛的。
指出:
迭代法基本定理是一般结论,对任意迭代法的收敛性都能分析。
限定雅可比迭代法和高斯-赛德尔迭代法则不必应用基本定理,以回避求迭代矩阵。
例1.8:已知线性方程组
123123123
2211221x x x x x x x x x
求解这个方程组的雅可比迭代法和高斯—赛德尔迭代法是否收敛? 解:
122111221A ,
令
22
11022
,
则312300 , 所以ρ(B J )=0<1
所以雅可比迭代法收敛。
而
212322
10(2)00,222
, 所以ρ(B G-S )=2>1
所以高斯—赛德尔迭代法发散。
二、基本计算与基本算法 (一)秦九韶算法
秦九韶算法是一种求多项式的值的计算方法。
对任意给定的x,计算代数多项式
1110()n n n n n P x a x a x a x a
的值,可以利用下面的方法计算:
1210()((()))n n n n P x a x a x a x a x a
这种算法就是著名的秦九韶算法。
是我国宋朝伟大的数学家秦九韶的伟大发现。
秦九韶算法可以写成递推的形式:
10
(1,2,1,0)()n n k k k
n s a s xs a k n p x s
具体计算式,递推格式是采用如下表格形式进行计算:
1232101
1232111
23210
()k
n
n n n k n
n n k k k n n n n n a a a a a a a a x xs xs xs xs xs xs xs s a xs s a s s s s s s 根据递推规则,计算的过程是要把横线上面每一竖列的两个数相加得横线下的数。
其中a k 由多项式给出,而每一个xs k+1则由前一列中的s k+1与已知数x 相乘得出。
所以可以由最前一列逐步递推计算出最后结果。
例2.1:用秦九韶算法计算多项式 76432()23461p x x x x x x x 在x=2处的值p(2)。
解:将所给多项式的系数按降幂排列,缺项系数为0。
12034161
22006410810032549
计算过程如下: ①s 7=a 7=1。
②x .s 7=2。
③s 6=a 6+xs 7=-2+2=0(竖向相加) ④重复以上过程。
⑤s 0=-1-8=-9。
所以,p(2)=-9。
(二)有效的基本算法
所谓有效的基本算法是指,根据算法设计的原则,设计出的一些求值计算的基本算法,这些算法避免了两个相近的数相减、较小的数作除数等使得计算误差增大的问题,减少了计算次数,通过调整计算顺序避免了大数吃小数。
例2.2:指出下列各题的合理计算途径(对给出具体数据的,请算出结果) [1]1-cos1○(三角函数值取四位有效数字)
[2]ln(30 (对数函数值取六位有效数字)
[3]1cos sin x x
(其中x 的绝对值很小)
[4]x 127
[5]100
1
1
(1)n n n
解:[1]201cos 2sin ,sin 0.50.00872
x
x
[2]
300.01667,
ln(30 4.09414
[3] 1cos sin tan sin 1cos 2
x x x
x x
[4]x 127=x·x 2·x 4·x 8·x 16·x 32·x 64
[5]由小到大依次相加。
100100
111111100
(1(1)1101101n n n n n n 注意:能求出值来的求值。
(三)数值分析的基础计算
1、矩阵分解
主要包括LU 分解和乔累斯基分解。
矩阵的手算分解就是应用矩阵乘法。
注意 [1]注意分解式的格式。
[2]分解计算要认真。
[3]注意分解的顺序。
先求U 的第一行,再求L 的第一列。
矩阵的LU 分解中,L 是单位下三角阵,U 为上三角阵,即
2112111n n l L l l
,11121222n n nn u u u u u U u 注意L 的对角线元素都是1。
乔累斯基分解的结构是
A=P T P 。
注意:
[1]矩阵A 是对称正定矩阵,则分解前必须声明“矩阵A 是对称正定矩阵,可以进行乔累斯基分解”。
[2]P 是上三角矩阵。
例2.3:设有矩阵
4321A
,
作矩阵A 的LU 分解。
解:对矩阵 4321A ,
设
1112212210431021u u l u
先计算U 的第一行,由矩阵乘法,有 11111112122212414
313
a u u a u u u +00=+0
再计算L 的第一列,由矩阵乘法,有
2121112121112101
/2
a l u l a u
然后计算U 的第2行
22211222
2222211211111322
a l u u u a l u
所以
1043,111022L U
2、求范数和条件数 [1]常用的向量范数有 ①11n
i i x x
②212
21
()n
i i x x
③max
i
x
i
x
[2]常用的矩阵范数有
①矩阵的1-范数(列范数):11max n
ij j
i A a ;
②矩阵的2-范数(谱范数):12
2()T
A A A ;
其中 ()max ()i i
B B 称为矩阵B 的谱半径。
λ(B)是矩阵B 的特征值。
③矩阵的∞-范数(行范数):1
max n
ij i
j A a
③max
i
x
i
x
[3]矩阵A 的条件数为
1()cond A A A
例2.4:计算向量(1,2,4)T x 的各种范数。
解:
11247x ,
2x , 13
max{1,2,4}4i x。
例2.5:给定矩阵 1234A ,
求12,,A A A 。
解:
因为112112224,6a a a a ,
所以16A ;
因为111221223,7a a a a , 所以7A ;
因为1313101024241020T A A
,
所以T A A 的特征多项式为:
210
10
301001020
, 解2301000
得
121515
所以2A 。
3、求差分和差商
求差商和差分应用差商表和差分表进行。
差商表如下:
差分表如下:
三、数值计算与数值分析 (一)插值与拟合方法
包括拉格朗日插值、牛顿插值、等距节点插值、分段插值、保形插值(埃尔米特插值)、样条插值等插值方法和最小二乘法。
1、插值方法
(1)拉格朗日插值多项式有两种求法,第一种是待定系数法,第二种是直接利用拉格朗日插值多项式的基函数法。
建议应用待定系数法。
例3.1:已知函数f(x)在节点-1,0,1处的值分别是0.3679,1.000,2.7182,用待定系数法和插值基函数法两种方法求出拉格朗日插值。
解1:设所求的多项式为
22012()p x a a x a x ,把已知条件代入得
20122
0122012(1)(1)0.3679(0)(0) 1.000
(1)(1) 2.7182a a a a a a a a a
解之得
0121, 1.751,0.5431a a a 所以
22()1 1.17510.5431p x x x 。
解2:由插值基函数公式
00()
()()
n
k
k k i i n
i
k
k k i
x x l x x x
0(0)(1)(1)
()(10)(11)2x x x x l x
1[(1)](1)()(1)(1)[0(1)](01)
x x l x x x
2[(1)](0)(1)()[1(1)](10)2x x x x l x
代入插值公式得
2012()0.3679() 1.000() 2.7182()p x l x l x l x 即
22()1 1.17510.5431p x x x 。
(2)牛顿插值和等距节点插值在求出差商或差分后直接套插值公式。
(3) 构造埃尔米特插值仍然采用待定系数法和基函数法。
例3.2:已知(0)0,(1)1,(0)3,(1)9f f f f ,求三次的埃尔米特插值多项式H(x)。
解:设230123()H x a a x a x a x ,则
2123()23H x a a x a x ,
由插值条件得 01
0123123
0(0)3(0)1(1)9(1)23H a H a H a a a a H a a a
解之得01230,3,12,10a a a a , 所以32()10123H x x x x 。
例3.3:设f(x)在[-4,4]有连续的4阶导数,且 (0)2,(0)0,(3)1,(3)1f f f f
试用两种方法构造三次埃尔米特插值多项式H(x),使其满足 (0)(0)2,(0)(0)0,(3)(3)1,(3)(3)1p f p f p f p f 。
解一(待定系数法):
解:设230123()H x a a x a x a x ,则
2123()23H x a a x a x ,
由插值条件得 01
0123123
2(0)0(0)1(1)1(1)23H a H a H a a a a H a a a
解之得012325
2,0,,327
a a a a ,
所以32
52()2273
H x x x 。
解二(基函数法):
解:设300110011()()()()()()()()()H x f x x f x x f x x f x x ,
因为线性拉格朗日插值基函数为100133()033
x x x x
l x x x ,
01100()303
x x x x
l x x x ,
由④得
200001
2
1001012
231
()[12()
()1
[12()13[12(0)
033279227
x x x l x x x x x x x x x x x x x x x
同理
2
23
01101102()92()[127
x x x x x x x x x x x
由⑤得
2
2
100013()()3x x x x x x x x x
232
011103()()9x x x x x x x x x
则
32
52()2273
H x x x。
指出:
待定系数法是求插值多项式的基本方法,而埃尔米特插值的基函数法构造方法及其余项分析方法是非标准插值构造及余项讨论的一般方法。
(4)样条插值根据边界条件不同求解不同的方程组解决。
(5)各种标准插值都有分段插值,分段插值的精度仅受局部数据影响。
(6)非标准插值是重要的插值问题。
非标准插值在一些论著中归为埃尔米特插值。
例3.4:设f(x)在[-4,4]有连续的4阶导数,且 (1)1,(0)2,(0)0,(3)1,(3)1f f f f f
(1)试构造一个次数最低的插值多项式p(x),使其满足
(1)(1)1,(0)(0)2,(0)(0)0,(3)(3)1,(3)(3)1
p f p f p f p f p f (2)给出并证明余项f(x)-p(x)的表达式。
解:
(1)由例3.3可以求出满足
(0)(0)2,(0)(0)0,(3)(3)1,(3)(3)1p f p f p f p f
的三次埃尔米特插值多项式
32
52()2273
H x x x 。
设2232
2252()()(3)2(3)273
p x H x a x x x x a x x
,则p(x)满足 (0)(0)2,(0)(0)0,(3)(3)1,(3)(3)1p f p f p f p f , 由(1)1f 得 3222521(1)(1)2(13)(1)1273108a a , 所以
223222
432
521
()()(3)2(3)273108
11332108544p x H x a x x x x x x x x x 。
(2)余项具有如下结构
22()()()()(1)(3)r x f x p x k x x x x
作辅助函数
22()()()()(1)(3)t f t p t k x t t t
则显然()t 在点,1,0,3x 处有6个零点(其中0,3是二重零点),即 ()0,(1)0,(0)0,(0)0,(3)0,(3)0x , 不妨假设(1,0)x 。
由罗尔定理,存在123(1,),(,0),(0,3)x x , 使得123()0,()0,()0 ,
再注意到(0)0,(3)0 ,即()t 有5个互异的零点12303 再次由罗尔定理得,存在111223343(,),(,0),(0,),(,3) , 使得1234()0,()0,()0,()0
第三次应用罗尔定理得,存在112223334(,),(,),(,) 使得123()0,()0,()0 ,
第四次应用罗尔定理得,存在112223(,),(,) 使得(4)(4)12()0,()0 ,
第五次应用罗尔定理得,存在12(,) 使得(5)()0
注意到
(5)(5)(5)()()5!()()5!()t r t k x f t k x
(()()()r t f t p t 中p(t)是4次函数,其5次导数为0)。
所以
(5)(5)
(5)
()
()()5!()=0()=5!
f f k x k x ,
代入余项表达式,有
(5)22()
()()()(1)(3)5!
f r x f x p x x x x 。
指出:
本题是非标准插值问题,所谓非标准插值是指不同于拉格朗日插值等条件规范、插值多项式已有现成结论的插值。
比较简单的求解方法有:
①求插值问题的基本方法是待定系数法。
以本题来说,有5个条件,可以确定一个4次的插值多项式,设为23301233y a a x a x a x a x ,将条件代入,建立一个5元的线性方程组,求出各参数,就可以求出插值多项式。
②求插值问题的第二种方法是基函数法,即根据给定条件设定插值多项式的结构和各基函数的结构,根据条件确定基函数即可。
具体方法与拉格朗日插值基函数构造和埃尔米特插值基函数构造相似。
③以标准插值为基础的方法是一种更简单的方法,本题中,首先利用4个条件构造一个埃尔米特插值,在此基础上设定所求插值多项式的一般形式,保证其满足埃尔米特插值条件,代入未利用条件解方程(组),求出其中的未知参数,即可求出插值多项式。
在构造新的插值多项式中,要求新的插值多项式仍然以H(x)的插值节点为节点,则可以写成()()()p x H x g x 的形式,因为
(0)(0)2,(0)(0)0,(3)(3)1,(3)(3)1p H p H p H p H ,
所以必有(0)(0)(3)(3)0g g g g
因此0,3是g(x)的两个2次零点,则g(x)包含22(3)x x 因子。
又因为多项式p(x)是4次的,g(x)也应该是4次的,所以可以设g(x)为 22()(3)g x a x x 。
本题也可以先利用(1)(1)1,(0)(0)2,(3)(3)1p f p f p f 构造一个2次插值多项式2()p x ,以此为基础构造4次插值多项式4()p x ,4()p x 的结构是
42()()()(1)(3)p x p x ax b x x x ,
满足
(1)(1)1,(0)(0)2,(3)(3)1p f p f p f
再根据(0)(0)0,(3)(3)1p f p f 列出两个线性方程组成的方程组,求出a、b 两个参数,即可求出所求的插值多项式。
求插值函数余项()r x 的常用方法是:
()()()r x f x p x 应具有如下形式(以本题为例)
22()()()()(1)(3)r x f x p x k x x x x 作辅助函数
22()()()()(1)(3)t f t p t k x t t t
则()t 在点,1,0,3x 处有6个零点(其中0,3是二重零点)。
反复应用罗尔定理,直到至少有一个(4,4) ,使得(5)()0 。
此时即有
(5)(5)
(5)
()
()()5!()=0()=5!
f f k x k x
代入余项表达式即可求出。
这里,作辅助函数的方法和中值定理讨论中作辅助函数方法一样。
指出:
插值公式的构造方法主要就是待定系数法和基函数法,埃尔米特插值这两种方法的构造与余项讨论都非常充分,是重要内容。
不仅应该能构造典型的插值公式,还要能构造一般的具有特定条件的插值公式。
用待定系数法构造埃尔米特插值等各种插值的方法也是必须掌握的。
(7)推广的牛顿插值法
埃尔米特插值(广泛意义上的)也可以用构造差商表的方法求出,尤其是插值条件中出现了高阶导数的情况,利用构造差商表的方法按牛顿插值多项式求埃尔米特插值很方便。
具体做法如下:
(1)把具有一阶导数的节点看成2重节点(即2个数据节点),具有2阶导数的节点看作3重节点,以此类推。
(2)用公式
1
1i i i n n i f x x x f x n ()
[,,](,)!
计算(n+1)个相同节点的差商。
(3)求出相同节点处的差商后按正常的差商表计算方法求差商表。
(4)按牛顿插值多项式写法求出埃尔米特插值。
这种方法称为推广的牛顿插值法。
利用所给条件构造f(x)的埃尔米特插值多项式。
解:由公式
1
1i i i n n i f x x x f x n ()
[,,](,)!
得
1
00100f f
!,(])[ 16
0302002f f ()![,,]
1
15111f f !
,(])[
所以,5次埃尔米特插值多项式为
225()4(1)4(1)(1)(1)(1)H x x x x x x x x x 。
2、拟合方法
最小二乘法是重要的数据拟合方法。
其求解过程为:
[1]分析数据,将已知数据描画在坐标纸上,得到一个散点图,从图上可以直观地看出数据的变化趋势。
[2]建立数学模型。
根据上述分析,确定拟合函数的类型。
[3]应用最小二乘法,确定拟合函数中的未知参数。
[4]写出拟合函数。
例
求x 、y 的函数关系。
解:先做出草图,从图上可以看出,这些点的分布接近于一条直线。
设y=a+bx ,则
4
21[()]i i i L a bx y
对a 、b 分别求偏导,并令偏导数等于0,得 4
1
4
144
1
1
2[()]0[()]0
40
i i i i i i i i i i L a bx y a a bx y a b x y
4
1
4
1444
2
1
1
1
2[()]0[()]0
i i i i i i i i i i i i i i i L a bx y x b a bx y x a x b x x y
将数据代入得
2222
4(2468)(1.1 2.8 4.97.2)0
(2468)(2468)(2 1.14 2.86 4.987.2)0a b a b
化简得
540
20120100.40a b a b
解之得 1.1
1.02a b
则x 与y 的函数关系是 y=-1.1+1.02x 。
用两种方法求其二次拟合曲线。
解一:
设所求的拟合函数为2y a bx cx , 则5
221[()]i i i i L a bx cx y 。
对a 、b 、c 分别求偏导,并令偏导数等于0,得 5
21
5
21555
21
1
1
2[()]0[()]0
50
i i i i i i i i i i
i i i i L a bx cx y a a bx cx y a b x c x y
5
21
5
215555
2
3
1
1
1
1
2[()]0[()]0
i i i i i i i i i i i i i i i i i i i L a bx cx y x b a bx cx y x a x b x c x x y
5
221
5
2215555
23
4
21
1
1
1
2[()]0[()]0
i i i i i i i i i i i
i i i i i i i i L a bx cx y x c a bx cx y x a x b x c x x y
将各数据点的数值代入,得方程组为
510 2.910 4.210347a c b a c
解之得a=0.4086,b=0.42,c=0.0857, 所以数据点所反映的函数的近似关系为 20.40860.420.0857y x x
解二:设所求的拟合函数为2y a bx cx , 将数据代入方程得 240.10.10.4
0.924 1.6
a b c a b c a a b c a b c
方程组的系数矩阵和右端向量为
1240.11110.1,1000.41110.9124 1.6A B
因为
1241111150101112101
20100,10041014100341111240.111111 2.90.12101
2 4.20.44101470.91.6T T A A A B
所以
5010 2.90100 4.2100347a b c
解之得a=0.4086,b=0。
42,c=0.0857, 所以数据点所反映的函数的近似关系为 20.40860.420.0857y x x 指出:
解二依据的结论是:
定理:*x 是超定方程组Ax=b 的最小二乘解的充分必要条件是*x 是方程组
T T A Ax A b 的解。
即1()T T x A A A b 。
用最小二乘法求形如2y a bx 的经验公式,并计算均方误差。
解:设2y a bx 则
5
221[()]i i i L a bx y
对a 、b 分别求偏导,并令偏导数等于0,得 5
21
5
2155
21
1
2[()]0[()]0
50
i i i i i i i
i i i L a bx y a a bx y a b x y
5
221
5
221555
2421
1
1
2[()]0[()]0
i i i i i i i i i
i i i i i i L a bx y x b a bx y x a x b x x y
将数据代入得
22222222224444422
2225(1925313844)(19.032.349.073.397.8)0(1925313844)(1925313844)(1919.02532.33149.03873.34497.8)0a b a b
化简得
55327271.40
53277277699369321.50
a b a b
第二个方程减去第一个方程乘以1065进一步化简得 55327271.40
2160444480279.50a b a b
解之得 1.01
0.05
a b
则x 与y 的函数关系是 y=1.01+0.05x 2。
此时,平方逼近误差为
5
221[()]0.017i i i L a bx y
所以,
0.13 。
指出:
均方误差实际上就是按最小二乘法则确定的残差。
例3.9:用最小二乘法求方程组
241135326214x y x y x y x y
的近似解。
分析:这是方程个数多于未知数个数的超定方程组,是矛盾方程组,用最小二乘法求解。
解:设方程组中各个方程的一般形式为i i i a x b y c ,则
4
21[()]i i i i L a x b y c
对x 、y 分别求偏导,并令偏导数等于0,得 4
1
4
1444
211
1
2[()]0[()]0
0i i i i i i i i i i i
i i i i i i i L a x b y c a x a x b y c a x a y a b a c
4
1
41444
21
1
1
2[()]0[()]0
i i i i i i i i i i i i i
i i i i i L
a x
b y
c b y a x b y c b x a b y b b c
将数据代入得 153510
349690x y x y
解之得 3.727
1.636x y
指出:
最小二乘法需要记住的是基本原理。
第一,残差表达式21[()]n
i i i L x y
第二,对残差求偏导数,使每一个偏导数都等于0,列方程组
00L a L b
第三,解方程组,求出a,b,… 第四,写出拟合函数。
(二)解非线性方程的方法
非线性方程的数值求解问题包括如下基本问题: ①判断方程根的个数,求隔根区间
判断方程f(x)=0有几个根并求隔根区间的方法过程是: (a)求函数y=f(x)的导函数y /=f /(x)。
(b)令f /(x)=0,用零点将函数定义域分成几个不同的区间,确定函数在各区间上的单调性。
(c)求出函数在区间端点上的值,判断函数值是否发生变号,排除不存在根的区间。
(d)确定根的个数和隔根区间。
例3.10:判断方程2x 3-3x 2-12x+25=0有几个实根,并求出其隔根区间。
解:令y=2x 3-3x 2-12x+25, y /=6x 2-6x-12=6(x 2-x-2)=6(x+1)(x-2)
当y /=0时,有x=-1,x=2,而且函数没有不可导点。
显然,当x <-1时,x+1<0,x-2<0,所以,y /=6(x+1)(x-2)>0,同理可以判断出在其他几个区间上导数的符号。
进一步可以得导函数在每一个区间上的单调性。
列表如下:
∵y(-1)=32>0,y(2)=5>0, ∴在区间(-1,2)上方程无根。
又∵ y(2)=5>0,函数在(2,+∞)上又是单调增的,函数值不可能再变号, ∴在区间(2,+∞)上方程也没有根。
∵函数在(-∞,-1)上单调, ∴方程在该区间上最多有一个根。
而y(-2)=21>0,y(-3)=-20<0,
∴方程在区间(-3,-2)内有一个根,区间(-3,-2)是方程的隔根区间。
所以方程2x 3-3x 2-12x+25=0有一个根,隔根区间为(-3,-2)。
②用二分法求根的初始近似值
用二分法求根的初始近似值要注意两个问题,第一是要进行确定二分的次数。
在二分法中,
(1,2,3,)2
n n
n a b x 。
如果
*22
n n n n b a b a
x x
这里ε为预定的已知精确度,知道了ε就可以求出n 来。
而第二个问题就是每一步都要进行函数值符号的判定。
例3.11:用二分法求方程f(x)=x 3-x-1=0在区间(1,1.5)内的实根,要求误差不超过0.005。
解:因为f(1)<0,f(1.5)>0,所以,方程在区间(1,1.5)上有根。
由
1
1.510.51
*0.00522222
n n n n n n n b a b a x x
有,2n+1>200,2n >100。
又因为27=128>100
所以n =7,即只需要二分7次即可。
x *≈x 7=1.325。
③用切线法(Newton 法)解方程 求解方程f(x)=0的切线法迭代格式为
1()
(0,1,2,)()
k k k k f x x x k f x
例3.12:用切线法求方程x=e -x 在x=0.5附近的根。
解:首先将方程x=e -x 改写为xe x -1=0, 于是有f(x)=xe x -1,相应的迭代公式为
11k
x k k k k
x e x x x
取x 0=0.5为迭代的初始近似值。
迭代的结果列表如下:
所以,方程的近似根为*30.56714x x 。
指出:
一般地,当满足预定精度的有效数字全都相同时,就可以终止计算过程,输出结果。
④用切线法求算术根
对于给定的正数
c,应用切线法解二次方程 x 2-c=0
11()2k k k c
x x x
可以证明,这种迭代公式对于任意的初值都是收敛的。
例3.13:计算115的算术平方根。
解:取初值x 0=10,对于c=115利用
11()2k k k c x x x
迭代3次,得
所以,115的算术平方根的近似值为 4x =10.723805 ⑤用割线法解方程
割线法的迭代公式为:
111()
()(1,2,)()()
k k k k k k k f x x x x x k f x f x
例3.14:用割线法求方程3310x x 在初始值02x 邻近的实根(取1 1.9x ,要求精确到310 )。
解: 因为3310x x
所以有3()31f x x x ,相应的迭代公式为
111()
()()()k k k k k k k f x x x x x f x f x
因为3431
0.0000102x x ,符合计算的精度要求,所以
*4 1.8794x x 。
(三)解线性方程组的方法
解线性方程组的数值方法包括两大类。
第一大类是直接解法,包括高斯消元法、高斯列选主元素消元法、高斯全选主元素消元法、矩阵分解方法。
第二类是迭代方法,包括雅可比迭代法、高斯-赛德尔消元法、超松弛法。
1、消元法
用消元法解方程组要注意: [1]消元的过程要规范完整。
[2]要明确写出选主元素的过程。
[3]消元后的方程组写成阶梯形。
[4]注意解的格式,要写成123(,,)T x x x x 的形式,注意解向量的各个分量的次序。
例3.15:用高斯消元法求解线性方程组:
123123123
23463525433032x x x x x x x x x
①②
③。
解:
3
②+(-)①2
,2 ③+(-)①消去第二、三个方程的1x ,得:
12323232346
0.54432220x x x x x x x
④⑤⑥ 再由6 ⑥+⑤消去此方程组的第三个方程的2x ,得到三角方程组:
12323323460.54424x x x x x x
回代,得:
32x ,3
24480.5
x x
,231634132x x x
所以方程组的解为
(13,8,2)T x
例3.16:用高斯列选主元素消元法解线性方程组
123123123
2315410030.12x x x x x x x x x
解:
先选第一列主元为215a ,将第一个方程与第二个方程交换,消去1x 得:
1232323541001.212.552
x x x x x x x
再选第二列主元为32 2.5a ,交换第二行与第三行,消去2x 得三角形方程组:
123233541002.5521.4 1.96x x x x x x
回代求得方程组的解3 1.4x ,22x ,1 1.2x 所以方程组的解为
(1.2,2, 1.4)T x 。
例3.17:用高斯全选主元素消元法解线性方程组
123123123
123315183156x x x x x x x x x
解:
选全主元为2118x ,交换第一个方程与第二个方程,消去1x ,得:
1232323183152.333 5.0001.1670.944 5.167x x x x x x x
再在此方程组的后两个方程中选主元22 2.333a ,交换第二与第三个未知
数,消去3x 得三角形方程组:
132322183152.333 5.0001.572 3.144x x x x x x
回代得方程组的解2 2.000x ,3
3.000
x ,1
1.000
x
即原方程组的解为:123
x
指出:
全选主元素交换两个未知数时,方程组里所有方程中的两个未知数都要交换,同时要交换相应的系数和符号。
注意是方程组到方程组的变形。
2、矩阵分解法
(1)LU 分解法解线性方程组
(2)乔累斯基分解法解线性方程组 3、迭代法
用迭代法解方程组的一般格式是(以三元为例):
[1]从3个方程中分离出未知变量123,,x x x ,将方程组改写成便于迭代的形式得: ……
[2]据此建立迭代格式得 ……
[3]取迭代初值(0)(0,0,0)T x 进行迭代得
所以方程组的解为
*()()()()123(,,)k k k k T
x x x x x 。
注意:
[1]分离变量时,一定要使得右边不再含有要求解的相应分量。
和证明与理论分析不同,不要追求式子的对称。
[2]迭代表格就的是有格的,要划出表格来。
[3]迭代终止的条件,一般是要达到规定的精度水平。
通常是两次迭代的结果一样时终止,也可完成规定的迭代次数终止。
[4]注意迭代格式中的上标要加小括号。
雅可比迭代法的迭代格式是:
122
111
(1)()()
112111
(1)()()
221222(1)()()
111()1()1()n
n n n k k k n k k k n k k k n n nn nn x b a x a x a x b a x a x a x b a x a x a
高斯-赛德尔迭代法的迭代格式是:
122
111
(1)()()112111
(1)
(1)()221222(1)(1)(1)
111()1()1()n
n n n k k k n k k k n k k k n n nn nn x b a x a x a x b a x a x a x b a x a x a
例3.18:用雅可比迭代法求解线性方程组
123123123
221
3225x x x x x x x x x
(取初值为(0)(0,0,0)T x )。
解:从三个方程中分离出未知变量123,,x x x ,将方程组改写成便于迭代的形式得
123213312221
3225x x x x x x x x x
, 据此建立迭代格式得
1232133
12(1)()()(1)()()
(1)()()2213225k k k k k k k k k x x x x x x x x x , 取迭代初值(0)(0,0,0)T x 进行迭代得
所以方程组的解为 *(1,1,1)T x 。
4、特殊线性方程组的解法—求解三对角矩阵方程组的追赶法
(四)数值积分与数值微分
1、数值积分
[1]经典方法和牛顿-科特斯方法
本质上来说,数值积分方法基本上是插值型积分方法。
插值型积分方法主要是牛顿-柯特斯积分公式,来之于几何直观的经典方法主要是牛顿-柯特斯积分公式,求数值积分时,这些方法都是直接套用公式。
求数值积分的经典方法包括矩形法、梯形法、抛物线法。
实际求积分应用的都是复合求积公式。
(1)矩形法
①左矩形公式
011()()b n a
b a f x dx y y y n
②右矩形公式 12()()b n a
b a f x dx y y y n
(2)梯形法 01211()[())]2
b n n a
b a f x dx y y y y y n (3)抛物线法(辛普森法) 2413b-a ()2(4(]3n
b n a
f x dx y y y y y 0n-2n-1[(y )++y )++y )。
例3.19:用三种基本积分公式计算22
11dx
x (四等分积分区间)。
解:将区间4
(1)矩形法
用矩形法公式计算(取2位小数)
201231
1()()0.364
f x dx y y y y 或者
2123411
()()0.294f x dx y y y y
(2)梯形法
用梯形法公式计算(取2位小数) 204123111
()[())]0.3342
f x dx y y y y y
(3)抛物线法
用抛物线法公式计算(取2位小数) 242131
1()24(]0.3212
f x dx y y y y 0[(y )) [2]变步长积分和龙贝格积分
变步长梯形公式是复合梯形公式的重要发展,在此基础上进行递推化改造,则又成为龙贝格积分的基础。
所谓龙贝格积分实际上是一个逐次分半,逐步加速的数值积分方法。
龙贝格积分需要依次应用相应的四个公式:
()n n n k k h T T f x -+==+å12
1
20122
24133n n n S T T
222
441n n
n S S C 323441
n n
n C C R -=-。
[3]代数精度方法
以代数精度为标准获得的设计构造求积公式的方法,称为代数精度法。
代数精度法用待定系数法通过解方程组构造数值积分公式。
而代数精度方法应用待定系数法,其中包括了高斯积分方法。
用代数精度法,一般是先求出待定系数,然后再继续验证构造出的公式的代数精度。
所以求解过程分为两步,第一步确定待定系数,第二步验证代数精度。
当需要确定m 个系数时,需要m 个方程组成的方程组,因此,就需要对f(x)=x k (k=0,1,2,…,m-1)进行讨论。
例3.20:试确定一个具有三次代数精度的公式。
3
01230
()(0)(1)(2)(3)f x dx A f A f A f A f
解:分别取f(x)=1,x,x 2,x 3,使求积公式准确成立,则得下面的方程组。
0123123
12312332392499827814
A A A A A A A A A A A A A
解之得A 0=3/8,A 1=9/8,A 2=9/8,A 3=3/8。
由此得求积公式为 30
3993()(0)(1)(2)(3)8888
f x dx f f f f 当将f(x)=x 4,代入时,上式不能精确成立,故所得公式具有3次代数精度。
指出: 注意验证。
不仅要能用待定系数法求积分公式,还要会用待定系数法求微分公式,方法是一样的。
在本课程中,待定系数法作为一种基本的方法用于求拉格朗日插值、埃尔米特插值、一般条件差值、数值积分公式、数值微分公式,应用广泛。
2、数值微分
数值微分的方法包括差商方法、拉格朗日插值方法、样条插值方法、泰勒展开方法、待定系数法。
数值微分的基本方法是中点法。
中点公式为:
()()
()2f a h f a h f a h
例
3.21:用中点公式求函数()f x x=2处的一阶导数,结果取4位数字。
解:对于函数()f x 来说,在x=2处数值微分的中点公式是
(2)2f h
数值微分的待定系数法与数值积分的待定系数方法本质上和实际应用上都是一致的。
例3.22:确定如下数值微分公式的系数。