郑州大学研究生课程(2009-2010学年第一学期)数值分析
Numerical Analysis
习题课
第五章解线性代数方程组的直接法
依次将增广矩阵的第i 行+ m i 1×第1 行,得
)1(1
)
1(1)1(12
)
1(11
...b
a
a
a
n
(2)
A
b
(2)
记(1)1
(1)(1)(1)
(1)(), ij n n n b A a A b b b ×??
??====??????
#,即(1)(1), ij ij i i a a b b
==(1)11
0a
≠(1)(1)
11
11(2,...,)
i i i a n m a ==?设,计算(2)(1)(1)11(2)(1)(1)11
ij ij i j
i i i a a m a
b b m b
=+=+其中
(,2,...,)
i j n =一、要点回顾
依次将上述矩阵的第i 行+ m i 2×第2 行,得
(3)(2)(2)22(3)(2)(2)22
ij ij i j
i i i a a m a b b m b ?=+?=+?其中(,3,...,)
i j n =(2)(2)
2222
(3,...,)
i i i a n m a ==?设,计算(2)22
0a
≠)1(1)
1(1)1(12)1(11...b a a a n
A
(3)b (3)(2)(2)(2)
2222...n
a a
b 高斯消去法
第k 步:消去第k 列
依此类推,直到第n-1 步,原方程化为()()(1,...,)
k k ik ik
kk
m a
k a
i n +=?=设,计算()0k kk
a
≠(1)(1)(1)(1)1112111(2)(2)(2)22222
()()n n n n n n nn a a a b x x a a b x b a ????
????????????
=???
????????????????
?""##%#计算(1)()()
(1)()()k k k ij ij ik kj
k k k i i ik k
a a m a
b b m b ++=+=+( i ,j = k +1, …, n )§5.2 高斯消去法
§5.2 Gauss消去法回代过程算法a
b
x )n (nn
)
n (n
n =()
()
()1
() i n 1 , n 2 ,, 1.
n
i i i i
i
ij
j
ii
j i x b
a x a
=+=?=??∑"(1)
(1)
(1)
(1)11
1
111
()()()(1)
(1)(1)11111 i
i
n
n
i i i ii i in n i n n n n n n n n n n a x a x a x b
a x a x
b a x a x b ????????++++=
+++=+=""""""""
()
() n n nn n n a x b ??
????
???
?=??
乘除运算量:
由于计算机中做乘除运算的时间远远超过做加减运算时间,故估计运算量时,往往只估计乘除的次数。第k 步:消去第k 列
()()(1,...,)
k k ik ik kk
m a k a i n +=?=设,计算()0k kk a ≠计算(1)()()(1)()()k k k ij ij ik kj k k k i i ik k a a m a b b m b ++=+=+( i = k +1, …, n )回代求解:()()
n n n n nn
x b a =()()
()
1
(
)
n
i i i i i ij j
ii
j i x b a x a =+=?
∑( i = k +1, …, n )
n –k 次
(n –k )2次n –k 次
n (n+1)/2 次
高斯消去法总的乘除运算量为:3
233
n n n +?
§5.2 高斯消去法
定理5.2.1
是矩阵的顺序主子式A ,
0111≠=a D 11
11
0(1,2,,).
i
i i ii
a a D i k a a =≠="#
#""
高斯约化的主元素的充要条件
()0(1,2,,)i ii a i k ≠="0(1,2,,)
i D i k ≠="
定理5.2.2若矩阵A 对称正定,则
()
()
01,2,,k kk a k n ≠="推论5.2.1
如果的顺序主子式A ),1,,2,1(0?=≠n k D k "??
??
?=,1)1(11D a 则
).
,,3,2(/1)(n k D D a k k k kk "==?
例5.2.1解方程组
精确解为:x 1=1/3,x 2=2/3。计算取5位有效数字。
解:顺序消元:
交换方程的顺序:
经高斯消元:
12120.0003 3.0000 2.00011.0000 1.0000 1.0000
x x x x +=??+=?
1212
20.0003 3.0000 2.0001 0 9999.06666.00.6667x x x x x +==??????=?=??12121.0000 1.0000 1.0000
0.0003 3.0000 2.0001
x x x x +=??+=?
1222
11.0000 1.0000 1.00000.6667
2.9997 1.99980.3333x x x x x +==?????==??26666
0.6667
9999
x ==()1 2.00010.66673/0.00030
x =?×=
§5.3 主元素高斯消去法(列主元消去法) 列主元高斯消去法:在第k 步消元时
①先选取列主元:()
|| =k k i k
a {
}()max ||0
k ik
k i n
a ≤≤≠②若i k ≠k 则交换第k 行和第i k 行;
§5.3 主元素高斯消去法
解: 例5.3.1采用十进制八位浮点数,分别用Gauss 消
去法和列主元Gauss 消去法求解线性方程组:
1212
1 2x x x x ε+=??+=?9(10)
ε?=精确解为
,...1000...00.110
11
9
1 =?=?x 8个...
8999...99.0212
=?=x x 8个Gauss 消去法:
9
212111/10m a a =?=?P
a m 101010
2221111100.100.0...010...00.10 (00)
1=+×=×?×≈?×9个b m 101010
221212100.100.0...010...00.10 (00)
1=+×=×?×≈?×
9
9
9101101010????????
?
211,0
x x ==§5.3 主元素高斯消去法
列主元Gauss 消去法:
????
???211
11109112011??
????
91121011???
????
12
1
1x x =??=?小主元可能导致计算失败。
§5.4 三角分解法下面借助矩阵理论进一步对消去法作些分析,从而建立高斯消去法与矩阵因式分解的关系.
由于对施行行的初等变换相当于用初等矩阵左乘,A A 这时化为)
1(A
,)
2(A
化为,)
1(b
)
2(b (1)
(2)
(1)
(2)
11,
,
M A
A M b
b
==即
21131
1
111.1n m M m m ????
??
??=??
??????#
%Gauss分解法的矩阵解释
一般第步消元,k 化为, )
(k A
)
1(+k A
化为,
)
(k b
)
1(+k b 1,,1
1.
11k k k
n k M m m +???
?????=?
?????
?????
?
%#%其中
§5.4 三角分解法
(1)()
1221(1)
()
1221;
;
n n n n n n M M M M b
b M M M M A A ????==""重复这过程,最后得到
1
1,,11.
11k k k
n k M m m ?+???
?????=?
??????
??????
?
%#%§5.4 三角分解法
记上三角矩阵为,
)(n A U (1)1111
2
1
,
n A M
M
M
U L U ????=="为单位下三角矩阵.213132
12
3
1111n n n m m m m
m m ??
????
???=????????????
?
###%"
111
121n L M M M ????="其中
为上三角阵.
()
n A
U =三角(LU)分解
§5.4 三角分解法
§5.4 三角分解法
由上述对系数矩阵A左乘一系列的三角初等矩阵知,A可以分解为一个单位下三角矩阵L和一个上三角矩阵U。这个过程派生出解线性方程组的三角分解法(LU分解)。
一旦实现A=LU,则Ax=b 可以化为LUx=b。令Ux=y,则Ly=b。
由Ly=b解出y;再由Ux=y 解出x。
如果A 的各阶主子式不为零,则可以实现:
多利特尔(Doolittle)分解:如果L为单位下三角矩阵,U为上
三角矩阵;
§5.4 三角分解法多利特尔(Doolittle)分解
定理5.4.1n阶非奇方阵A有唯一的Doolittle分解
的充要条件是A的前n-1个顺序主子式
0(1,2,..., 1.)
k D k n ≠=?
§5.4 三角分解法11121n
2122
2n 313212
(1)nn ( 111
U 1n n n n Gauss LU A LU
L u u
u l u
u
l l l l l u ?=?????
???
?
???
????==?
???
?
???
?
????
?
??"
""""""由消去法加上列主元或全主元)有分解:多利特尔(Doolittle)分解
§5.4 三角分解法
n
, 2,i , n , 1,j , 111i111""====u a l a u i j j n
, , 1k i )/ ( n
, ,k j , ,3 ,2 kk 1-k 1
m im ik 1
-k 1m km kj ∑∑"""+=?==?====u u l a l u l a u mk ik mj kj n k 计算
对计算量与Gauss 消去法同.
数值分析复习题 一、选择题 1. 3.142和3.141分别作为π的近似数具有( )和( )位有效数字. A .4和3 B .3和2 C .3和4 D .4和4 2. 已知求积公式()()2 11211()(2)636f x dx f Af f ≈++?,则A =( ) A . 16 B .13 C .12 D .2 3 3. 通过点()()0011,,,x y x y 的拉格朗日插值基函数()()01,l x l x 满足( ) A .() 00l x =0,()110l x = B . ()00l x =0,()111l x = C .()00l x =1,()111l x = D . ()00l x =1,()111l x = 4. 设求方程()0f x =的根的牛顿法收敛,则它具有( )敛速。 A .超线性 B .平方 C .线性 D .三次 5. 用列主元消元法解线性方程组1231231220223332x x x x x x x x ++=??++=??--=? 作第一次消元后得到的第3个方程( ). A .232x x -+= B .232 1.5 3.5x x -+= C .2323x x -+= D .230.5 1.5x x -=- 二、填空 1. 设 2.3149541...x *=,取5位有效数字,则所得的近似值x= . 2.设一阶差商 ()()()21122114,321f x f x f x x x x --= ==---, ()()()322332615,422f x f x f x x x x --===--
则二阶差商 ()123,,______f x x x = 3. 设(2,3,1)T X =--, 则2||||X = ,=∞||||X 。 4.求方程 2 1.250x x --= 的近似根,用迭代公式 1.25x x =+,取初始值 01x =, 那么 1______x =。 5.解初始值问题 00'(,)()y f x y y x y =??=?近似解的梯形公式是 1______k y +≈。 6、 1151A ??= ?-??,则A 的谱半径 = 。 7、设 2()35, , 0,1,2,... , k f x x x kh k =+== ,则[]12,,n n n f x x x ++= 和[]123,,,n n n n f x x x x +++= 。 8、若线性代数方程组AX=b 的系数矩阵A 为严格对角占优阵,则雅可比迭代和高斯-塞德尔迭代都 。 9、解常微分方程初值问题的欧拉(Euler )方法的局部截断误差为 。 10、为了使计算 23123101(1)(1)y x x x =+ +----的乘除法运算次数尽量的少,应将表达式改写 成 。 11. 设T X )4,3,2(-=, 则=1||||X ,2||||X = . 12. 一阶均差()01,f x x = 13. 已知3n =时,科茨系数()()()33301213,88C C C ===,那么 ()33C = 14. 因为方程()420x f x x =-+=在区间[]1,2上满足 ,所以()0f x =在区间内有根。 15. 取步长0.1h =,用欧拉法解初值问题()211y y y x y ?'=+???=?的计算公式 . 16.设 * 2.40315x =是真值 2.40194x =的近似值,则*x 有 位有效数字。
解线性方程组的迭代法 1.rs里查森迭代法求线性方程组Ax=b的解 function[x,n]=rs(A,b,x0,eps,M) if(nargin==3) eps=1.0e-6;%eps表示迭代精度 M=10000;%M表示迭代步数的限制值elseif(nargin==4) M=10000; end I=eye(size(A)); n=0; x=x0; tol=1; %迭代过程 while(tol>eps) x=(I-A)*x0+b; n=n+1;%n为最终求出解时的迭代步数tol=norm(x-x0); x0=x; if(n>=M) disp('Warning:迭代次数太多,可能不收敛!'); return; end end 2.crs里查森参数迭代法求线性方程组Ax=b的解 function[x,n]=crs(A,b,x0,w,eps,M) if(nargin==4) eps=1.0e-6;%eps表示迭代精度 M=10000;%M表示迭代步数的限制值 elseif(nargin==5) M=10000; end I=eye(size(A)); n=0; x=x0; tol=1; %迭代过程 while(tol>eps) x=(I-w*A)*x0+w*b; n=n+1;%n为最终求出解时的迭代步数tol=norm(x-x0); x0=x;
if(n>=M) disp('Warning:迭代次数太多,可能不收敛!'); return; end end 3.grs里查森迭代法求线性方程组Ax=b的解 function[x,n]=grs(A,b,x0,W,eps,M) if(nargin==4) eps=1.0e-6;%eps表示迭代精度 M=10000;%M表示迭代步数的限制值 elseif(nargin==5) M=10000; end I=eye(size(A)); n=0; x=x0; tol=1;%前后两次迭代结果误差 %迭代过程 while(tol>eps) x=(I-W*A)*x0+W*b;%迭代公式 n=n+1;%n为最终求出解时的迭代步数tol=norm(x-x0); x0=x; if(n>=M) disp('Warning:迭代次数太多,可能不收敛!'); return; end end 4.jacobi雅可比迭代法求线性方程组Ax=b的解 function[x,n]=jacobi(A,b,x0,eps,varargin) if nargin==3 eps=1.0e-6; M=200; elseif nargin<3 error return elseif nargin==5 M=varargin{1}; end D=diag(diag(A));%求A的对角矩阵 L=-tril(A,-1);%求A的下三角阵
数值分析试题 一、 填空题(2 0×2′) 1. ?? ????-=? ?????-=32,1223X A 设x =是精确值x *=的近似值,则x 有 2 位 有效数字。 2. 若f (x )=x 7-x 3+1,则f [20,21,22,23,24,25,26,27]= 1 , f [20,21,22,23,24,25,26,27,28]= 0 。 3. 设,‖A ‖∞=___5 ____,‖X ‖∞=__ 3_____, ‖AX ‖∞≤_15_ __。 4. 非线性方程f (x )=0的迭代函数x =?(x )在有解区间满足 |?’(x )| <1 ,则使用该迭代 函数的迭代解法一定是局部收敛的。 5. 区间[a ,b ]上的三次样条插值函数S (x )在[a ,b ]上具有直到 2 阶的连续导数。 6. 当插值节点为等距分布时,若所求节点靠近首节点,应该选用等距节点下牛顿差商 公式的 前插公式 ,若所求节点靠近尾节点,应该选用等距节点下牛顿差商公式的 后插公式 ;如果要估计结果的舍入误差,应该选用插值公式中的 拉格朗日插值公式 。 7. 拉格朗日插值公式中f (x i )的系数a i (x )的特点是:=∑=n i i x a 0)( 1 ;所以当 系数a i (x )满足 a i (x )>1 ,计算时不会放大f (x i )的误差。 8. 要使 20的近似值的相对误差小于%,至少要取 4 位有效数字。 9. 对任意初始向量X (0)及任意向量g ,线性方程组的迭代公式x (k +1)=Bx (k )+g (k =0,1,…)收 敛于方程组的精确解x *的充分必要条件是 ?(B)<1 。 10. 由下列数据所确定的插值多项式的次数最高是 5 。 11. 牛顿下山法的下山条件为 |f(xn+1)|<|f(xn)| 。 12. 线性方程组的松弛迭代法是通过逐渐减少残差r i (i =0,1,…,n )来实现的,其中的残差 r i = (b i -a i1x 1-a i2x 2-…-a in x n )/a ii ,(i =0,1,…,n )。 13. 在非线性方程f (x )=0使用各种切线法迭代求解时,若在迭代区间存在唯一解,且f (x )
数值分析复习题及答案 Company number:【WTUT-WT88Y-W8BBGB-BWYTT-19998】
数值分析复习题 一、选择题 1. 和分别作为π的近似数具有( )和( )位有效数字. A .4和3 B .3和2 C .3和4 D .4和4 2. 已知求积公式 ()()2 1 121 1()(2)636f x dx f Af f ≈ ++? ,则A =( ) A . 16 B .13 C .12 D .2 3 3. 通过点( )() 0011,,,x y x y 的拉格朗日插值基函数 ()() 01,l x l x 满足( ) A . ()00l x =0, ()110l x = B . () 00l x =0, ()111 l x = C .() 00l x =1,()111 l x = D . () 00l x =1, ()111 l x = 4. 设求方程 ()0 f x =的根的牛顿法收敛,则它具有( )敛速。 A .超线性 B .平方 C .线性 D .三次 5. 用列主元消元法解线性方程组1231231 220223332 x x x x x x x x ++=?? ++=??--=?作第一次消元后得到的第3个方程( ). A . 232 x x -+= B . 232 1.5 3.5 x x -+= C . 2323 x x -+=D . 230.5 1.5 x x -=- 二、填空 1. 设 2.3149541...x * =,取5位有效数字,则所得的近似值x= .
2.设一阶差商 ()()()211221 14 ,3 21f x f x f x x x x --= = =---, ()()()322332615,422f x f x f x x x x --===-- 则二阶差商 ()123,,______ f x x x = 3. 设(2,3,1)T X =--, 则2||||X = ,=∞||||X 。 4.求方程2 1.250x x --= 的近似根,用迭代公式 1.25x x =+,取初始值 01x =, 那么 1______x =。 5.解初始值问题 00'(,)()y f x y y x y =?? =?近似解的梯形公式是 1______k y +≈。 6、 1151A ?? = ? -??,则A 的谱半径 = 。 7、设 2()35, , 0,1,2,... , k f x x x kh k =+==,则 []12,,n n n f x x x ++= 和 []123,,,n n n n f x x x x +++= 。 8、若线性代数方程组AX=b 的系数矩阵A 为严格对角占优阵,则雅可比迭代和高斯-塞德尔迭代都 。 9、解常微分方程初值问题的欧拉(Euler )方法的局部截断误差为 。 10、为了使计算 23123 101(1)(1)y x x x =+ +- ---的乘除法运算次数尽量的少,应将表达式改写成 。 11. 设T X )4,3,2(-=, 则=1||||X ,2||||X = . 12. 一阶均差 ()01,f x x = ? 13. 已知3n =时,科茨系数 ()()() 33301213,88C C C ===,那么() 33C =
第一章 1、ln2=0.69314718…,精确到 10-3 的近似值是多少? 解 精确到 10-3=0.001,即绝对误差限是 e =0.05%,故至少要保留小数点后三位才可以。 ln2≈0.693。 2、设115.80,1025.621≈≈x x 均具有5位有效数字,试估计由这些数据计算21x x , 21x x +的绝对误差限 解:记126.1025, 80.115x x == 则有11232411 10, | 102|||2 x x x x --≤?-≤?- 所以 121212121212211122||||||||||||x x x x x x x x x x x x x x x x x x -=-+-+≤-- 3411 80.11610 6.10102522 0.007057-==??+≤?? 1212112243|()|||11 |10100.0005522 |x x x x x x x x --≤≤?+?=+-+-+- 3、一个园柱体的工件,直径d 为10.250.25mm,高h 为40.00 1.00mm,则它的体 积V 的近似值、误差和相对误差为多少。 解: ()() 22222222 4 314210254000000330064 221025400002510251002436444 3300624362436 0073873833006 , .....; ()()()......, ..().()..% .r d h V d h V mm d h V dh d d h V mm V V V πππππεεεεε= ≈=??===+=???+?==±====第二章: 1、分别利用下面四个点的Lagrange 插值多项式和Newton 插值多项式N 3(x ), 计算L 3(0.5)及N 3(-0.5) x -2 -1 0 1 f (x ) -1 1 2
数值分析 第二章 2.当1,1,2x =-时,()0,3,4f x =-,求()f x 的二次插值多项式。 解: 0120121200102021101201220211,1,2, ()0,()3,()4;()()1 ()(1)(2)()()2()()1 ()(1)(2) ()()6 ()()1 ()(1)(1) ()()3 x x x f x f x f x x x x x l x x x x x x x x x x x l x x x x x x x x x x x l x x x x x x x ==-===-=--==-+-----==------= =-+-- 则二次拉格朗日插值多项式为 2 20 ()()k k k L x y l x ==∑ 0223()4() 14 (1)(2)(1)(1)23 537623 l x l x x x x x x x =-+=---+ -+= +- 6.设,0,1,,j x j n =L 为互异节点,求证: (1) 0()n k k j j j x l x x =≡∑ (0,1,,);k n =L (2)0 ()()0n k j j j x x l x =-≡∑ (0,1,,);k n =L 证明 (1) 令()k f x x = 若插值节点为,0,1,,j x j n =L ,则函数()f x 的n 次插值多项式为0 ()()n k n j j j L x x l x == ∑。 插值余项为(1)1() ()()()()(1)! n n n n f R x f x L x x n ξω++=-= + 又,k n ≤Q
(1)()0 ()0 n n f R x ξ+∴=∴= 0()n k k j j j x l x x =∴=∑ (0,1,,);k n =L 0 000 (2)()() (())()()(()) n k j j j n n j i k i k j j j i n n i k i i k j j i j x x l x C x x l x C x x l x =-==-==-=-=-∑∑∑∑∑ 0i n ≤≤Q 又 由上题结论可知 ()n k i j j j x l x x ==∑ ()()0 n i k i i k i k C x x x x -=∴=-=-=∑原式 ∴得证。 7设[]2 (),f x C a b ∈且()()0,f a f b ==求证: 21 max ()()max ().8 a x b a x b f x b a f x ≤≤≤≤''≤- 解:令01,x a x b ==,以此为插值节点,则线性插值多项式为 10 101010 ()() ()x x x x L x f x f x x x x x --=+-- =() () x b x a f a f b a b x a --=+-- 1()()0()0 f a f b L x ==∴=Q 又 插值余项为1011 ()()()()()()2 R x f x L x f x x x x x ''=-= -- 011 ()()()()2 f x f x x x x x ''∴= --
作业六:分别编写用Jacobi迭代法和Gauss-Seidel迭代法求解线性方程组Ax=B的标准程序,并求下列方程组的解。 可取初始向量 X(0) =(0,0,0)’; 迭代终止条件||x(k+1)-x(k)||<=10e-6 (1) = (2) = Jacobi迭代法: 流程图 开 始 判断b中的最大值 有没有比误差大 给x赋初值 进行迭代 求出x,弱到100次还没到,警告不收 结束
程序 clear;clc; A=[8,-1,1;2,10,01;1,1,-5]; b=[1;4;3]; e=1e-6; x0=[0;0;0]'; n=length(A); x=zeros(n,1); k=0; r=max(abs(b)); while r>e for i=1:n d=A(i,i); if abs(d)
程序结果(1)
(2)
Gauss-Seidel迭代法: 程序 clear;clc; %A=[8,-1,1;2,10,01;1,1,-5]; %b=[1;4;3]; A=[5,2,1;-1,4,2;2,-3,10]; b=[-12;20;3]; m=size(A); if m(1)~=m(2) error('矩阵A不是方阵'); end n=length(b); %初始化 N=0;%迭代次数 L=zeros(n);%分解A=D+L+U,D是对角阵,L是下三角阵,U是上三角阵U=zeros(n); D=zeros(n); G=zeros(n);%G=-inv(D+L)*U d=zeros(n,1);%d=inv(D+L)*b x=zeros(n,1); for i=1:n%初始化L和U for j=1:n if i
直接法解线性方程组 实习题目: 仿照三对角方程组的追赶法解五对角方程组,其中系数矩阵为A,右端向量为:r。将A分解为LU。其中L为下三角,U为单位上三角。A为7*7阶的矩阵,其中对角元为4 5 6 7 8 9 10。上下次三角对角线元素为1 2 3 4 5 6 ;上下第二条对角线元素为1 2 3 4 5;右端项为:1 2 3 4 5 6 7. 要求:输出系数矩阵A,右端向量r,下三角矩阵L,单位上三角矩阵U,下三角矩阵Ly=b 的解向量y,单位上三角方程组Ux=y的解(即最终的解向量。保留七位小数。 实现方法:通过MATLAB编程实现。建立MATLAB脚本文件。 首先通仿照三对角方程组的追赶法得到五对角矩阵的实现算法。 然后又MATLAB编程实现。 实验结果(MATLAB截图):
结果分析: 通过提供的计算数据得到最终的解向量x及中间过程产生的下三角矩阵L,单位上三角矩阵U,下三角矩阵Ly=b 的解向量y。 同时为了确保算法的正确性,我还通过MATLAB的左除运算检验得使用此算法的计算结果正确。 这里由于是用MATLAB,最终结果为分数形式,考虑到精确解一般比近似解更好,因此未化成七位小数形式。 算法实现分析: 首先计算L和U的元素。由于已知L和U的特定形式(及除了对角线和上下次对角线和上下第二条对角线外,其余为0。故通过矩阵的乘法即可得到LU中元素的计算公式。(具体算法见MATLAB程序) 算法优劣点:
1.解此题时看上去要用较多的存储单元,但实际上只需存储系数矩阵A的不为0的元素。 2.A分解为LU计算完成后,后续计算x和y的“追赶过程”运算量一般来说计算量比较小。 3.此题也可用之前的LU算法求解。但此处算法与一般的LU分解的解线性方程组的算法,相比计算量小了不少。 4.对于此处特定的对称的系数矩阵A,算法还可以进一步优化。 5.由于我在此算法中A.L U的各对角值均用一个列向量表示,一个缺点在于输出A,L,U时要重新组成矩阵形式。不过优点在于减少了存储单元。 6.另一缺点是,未能将结果封装成一个文件。 后附MATLAB代码: c=[4,5,6,7,8,9,10];d=[1,2,3,4,5,6,0];b=[0,1,2,3,4,5,6];e=[1,2,3,4,5,0,0];a=[0,0,1,2,3,4,5]; r=[1 2 3 4 5 6 7]; w=zeros(7,1);x=zeros(7,1);y=zeros(7,1);m=zeros(7,1);n=zeros(7,1);h=zeros(7,1); w(1)=c(1);m(1)=d(1)/c(1);n(1)=e(1)/c(1); h(2)=b(2);w(2)=c(2)-h(2)*m(1);m(2)=(d(2)-b(2)*n(1))/w(2);n(2)=e(2)/w(2); for k=3:5 h(k)=b(k)-a(k)*m(k-2); w(k)=c(k)-a(k)*n(k-2)-h(k)*m(k-1); m(k)=(d(k)-h(k)*n(k-1))/w(k); n(k)=e(k)/w(k); end h(6)=b(6)-a(6)*m(4); w(6)=c(6)-a(6)*n(4)-h(6)*m(5); m(6)=(d(6)-h(6)*n(5))/w(6); h(7)=b(7)-a(7)*m(5); w(7)=c(7)-a(7)*n(5)-h(7)*m(6); y(1)=r(1)/w(1);y(2)=(r(2)-h(2)*y(1))/w(2); for k=3:7 y(k)=(r(k)-a(k)*y(k-2)-h(k)*y(k-1))/w(k); end x(7)=y(7); x(6)=y(6)-x(7)*m(6);
数值分析期末考试复习题及其答案 1. 已知325413.0,325413* 2* 1==X X 都有6位有效数字,求绝对误差限。(4分) 解: 由已知可知,n=6 5.01021 ,0,6,10325413.0016*1=?= =-=?=ε绝对误差限n k k X 2分 620* 21021,6,0,10325413.0-?=-=-=?=ε绝对误差限n k k X 2分 2. 已知?????=001A 220 - ???? ?440求21,,A A A ∞ (6分) 解: {},88,4,1max 1==A 1分 {},66,6,1max ==∞A 1分 () A A A T max 2λ= 1分 ?????=001A A T 420 ?? ?? ? -420?????001 220 - ?????440=?????001 080 ???? ?3200 2分 {}3232,8,1max )(max ==A A T λ 1分 24322==A 3. 设3 2 )()(a x x f -= (6分) ① 写出f(x)=0解的Newton 迭代格式 ② 当a 为何值时,)(1k k x x ?=+ (k=0,1……)产生的序列{}k x 收敛于2 解: ①Newton 迭代格式为: x a x x x a x a x x a x x x f x f x x k k k k k k k k k k 665)(665)(6)()(')(2 2 32 1 += +=---=-=+? 3分
②时迭代收敛即当222,112 10)2(',665)('2<<-<-=-=a a x a x ?? 3分 4. 给定线性方程组Ax=b ,其中:? ??=1 3A ??? 22,??????-=13b 用迭代公式)()()()1(k k k Ax b x x -+=+α(k=0,1……)求解Ax=b ,问取什么实数α,可使迭代收 敛 (8分) 解: 所给迭代公式的迭代矩阵为?? ? --? ??--=-=ααααα21231A I B 2分 其特征方程为 0) 21(2)31(=----= -αλα ααλλB I 2分 即,解得αλαλ41,121-=-= 2分 要使其满足题意,须使1)(求解线性方程组——超松弛迭代法(c)
求解线性方程组——超松弛迭代法 #include
cout<<"输入松弛因子w (1 Gauss-Seidel迭代法求解线性方程组 一. 问题描述 用Gauss-Seidel 迭代法求解线性方程组 由Jacobi 迭代法中,每一次的迭代只用到前一次的迭代值。使用了两倍的存储空间,浪费了存储空间。若每一次迭代充分利用当前最新的迭代值,即在计算第i 个分量 ) 1(+k i x 时,用最新分量 ) 1(1 +k x , ???+) 1(2 k x ) 1(1 -+k i x 代替旧分量 ) (1 k x , ???) (2 k x ) (1 -k i x ,可以起 到节省存储空间的作用。这样就得到所谓解方程组的Gauss-Seidel 迭代法。 二. 算法设计 将A 分解成U D L A --=,则b x =A 等价于b x =--U)D (L 则Gauss-Seidel 迭代过程 ) ()1()1(k k k Ux Lx b Dx ++=++ 故 ) ()1()(k k Ux b x L D +=-+ 若设1 )(--L D 存在,则 b L D Ux L D x k k 1)(1)1()()(--+-+-= 令 b L D f U L D G 11)()(---=-=, 则Gauss-Seidel 迭代公式的矩阵形式为 f Gx x k k +=+) () 1( 其迭代格式为 T n x x x x ) ()0()0(2)0(1)0(,,,???= (初始向量), ) (1 1 1 1 1 )()1()1(∑∑-=-+=++--=i j i i j k j ij k j ij i ii i i x a x a b a x )210i 210(n k ???=???=,,,;,,, 或者 ?? ???--=???=???==?+=∑∑-=-+=+++) (1)210i 210(111 1)()1()1()()1(i j i i j k j ij k j ij i ii i i i k i k i x a x a b a x n k k x x x ,,,;,,, 三. 程序框图 习题 3.1 1. 求下列方阵的秩: (1)??? ?? ??--340313021201;(2)????? ??----174034301320;(3)??????? ? ?---------12433023221453334 311 ;(4)??????? ??------34732038234202173132. 2. 求下列方阵的逆矩阵: (1) ?? ? ?? ? ?323513123; (2) ????? ?? ??-----1210232112201023. 3. 解下列矩阵方程 (1) 设 ???? ? ??--=????? ??--=1322 31,113122214B A ,求X 使B AX =; (2) 设 ??? ? ??-=? ???? ??---=132 321,433312120B A ,求X 使B XA =; (3) ?? ??? ??-=????? ??-=????? ??-=112510324, 123011113,1120111111C B A ,求X 使C AXB =. 4. 求下列行列式 (1)? ? ? ??? ??????71 1 0251020214214 ;(2)????????????-260523211213 141 2;(3)?? ? ???????---ef cf bf de cd bd ae ac ab ; (4) ????????????---d c b a 100110011001. 5. 判断下列线性方程组解的情况,如果有唯一解,则求出解. ???????=+++-=----=+-+=+++;01123,2532,242,5)1(432143214 3214321x x x x x x x x x x x x x x x x ? ? ???????=+=++=++=++=+;15,065,065,065,165)2(545434323212 1x x x x x x x x x x x x x (3) ? ?? ??=-++=-+-=-+-;3222, 2353, 132432143214321x x x x x x x x x x x x (4) ?????=---=--+=+++.034,0222,022432143214321x x x x x x x x x x x x 习题 3.2 1. 用回代法解上三角形线性方程组 (1)??? ????==+-=-+=++;63,3,6333,8484443432321x x x x x x x x x (2)?? ???? ?-=-=+--=+--=-+.63,1032,92,9244343242 1x x x x x x x x x 2. 用回代法解下三角形线性方程组 迭代法解线性方程组作业 沈欢00986096 北京大学工学院,北京100871 2011年10月12日 摘要 由所给矩阵生成系数矩阵A和右端项b,分析系数矩阵A,并用Jacobi迭代法、GS迭代法、SOR(逐步松弛迭代法)解方程组Ax=b 1生成系数矩阵A、右端项b,并分析矩阵A 由文件”gr900900c rg.mm”得到了以.mm格式描述的系数矩阵A。A矩阵是900?900的大型稀 疏对称矩阵。于是,在matlaB中,使用”A=zeros(900,900)”语句生成900?900的零矩阵。再 按照.mm文件中的描述,分别对第i行、第j列的元素赋对应的值,就生成了系数矩阵A,并 将A存为.mat文件以便之后应用。 由于右端项是全为1的列向量,所以由语句”b=ones(900,1)”生成。 得到了矩阵A后,求其行列式,使用函数”det(A)”,求得结果为”Inf”,证明行列式太大,matlaB无法显示。由此证明,矩阵A可逆,线性方程组 Ax=b 有唯一解。 接着,判断A矩阵是否是对称矩阵(其实,这步是没有必要的,因为A矩阵本身是对称矩阵,是.mm格式中的矩阵按对称阵生成的)。如果A是对称矩阵,那么 A?A T=0 。于是,令B=A?A T,并对B求∞范数。结果显示: B ∞=0,所以,B是零矩阵,也就是:A是对称矩阵。 然后,求A的三个条件数: Cond(A)= A ? A?1 所求结果是,对应于1范数的条件数为:377.2334;对应于2范数的条件数为:194.5739;对应 于3范数的条件数为:377.2334; 1 从以上结果我们看出,A是可逆矩阵,但是A的条件数很大,所以,Ax=b有唯一解并且矩阵A相对不稳定。所以,我们可以用迭代方法来求解该线性方程组,但是由于A的条件数太大迭代次数一般而言会比较多。 2Jacobi迭代法 Jacobi迭代方法的程序流程图如图所示: 图1:Jacobi迭代方法程序流程图 在上述流程中,取x0=[1,1,...,1]T将精度设为accuracy=10?3,需要误差满足: error= x k+1?x k x k+1 一、填空 1. 设 2.3149541...x * =,取5位有效数字,则所得的近似值x= 2.3150 . 2.设一阶差商 ()()()21122114 ,321f x f x f x x x x --= = =---, ()()()322332 615 ,422f x f x f x x x x --= = =-- 则二阶差商 ()123,,______ f x x x =11/6 3. 设(2,3,1)T X =--, 则2||||X = 14 ,=∞||||X 3 。p49 4. 4.求方程 2 1.250x x --= 的近似根,用迭代公式 1.25x x =+,取初始值 01 x =, 那么 1______x =。 1.5 5.解初始值问题 00 '(,)()y f x y y x y =?? =?近似解的梯形公式是 1______k y +≈。 ()()[]11,,2 ++++k k k k k y x f y x f h y 6、 1151A ??= ? -??,则A 的谱半径 = 6 。 7、设 2()35, , 0,1,2,... , k f x x x kh k =+== ,则 []12,,n n n f x x x ++= —————— ————3 和 []123,,,n n n n f x x x x +++= _______________0_____ 。 8、 若线性代数方程组AX=b 的系数矩阵A 为严格对角占优阵,则雅可比迭代和高斯-塞德尔迭代都 收敛 。 9、解常微分方程初值问题的欧拉(Euler )方法的局部截断误差为_______O(h ) ___。 曲 為 viZk# 数值分析复习题 、选择题 1.3.142和3.141分别作为 的近似 、数具有() 和 ()位有效数字? A . 4 和 3 B . 3 和 2 C . 3和4 D . 4 和 4 2 1 2 1 f x dx -f 1 Af(:) f (2) 2.已知求积公式 1 6 3 6 ,则 A =() 1 1 1 2 A . 6 B .3 C 2 D . 3 为 2x 2 x 3 0 2x 1 2x 2 3x 3 3 A . l o X = 0, l 1为 0 B . 1。X 。= 0, h X 1 C . l o X o = 1, l 1为 1 D . l 0 X = 1 I 1 X 1 1 f x 4.设求方程 的根的牛顿法收敛, 则它具有( ) 敛 速。 3.通过点x o ,y o X l , y i 的拉格朗日插值基函数 l o x ,h x 满足( 5.用列主元消元法解线性方程组 x ( 3x 2 2 作第一次消元后得到的第 3个方程( X 2 X 3 2 2x 2 1.5x 3 3.5 C . 2x 2 X 3 3 D X 2 0.5X 3 1.5 曲為viZk#、填空 1.设x 2.3149541...,取5位有效数字,则所得的近似值x= 2?设一阶差商则二阶差商 X1,X 2 f X1,X2,X3 X 2 X 1 X2,X3 X 3 X 2 2 f (X ) 3x 5, x k kh, k 0,1,2, …,则 f X n , x n 1,X n 2 X n ,人 1,x n 2 , x n 3 若线性代数方程组 AX=b 的系数矩阵A 为严格对角占优阵,则雅可比迭代和高斯 -塞德尔迭代都 12?—阶均差 f x 0,x 1 18?设 X (2, 3,7)T ,则 ||X|1 3.设 X (2, 3, 1)T ,则 Mik ||X || 4. 2 求方程x x 1- 25 的近似根,用迭代公式 x ■x 1.25,取初始值沧1,那么X1 5. 解初始值问题 y' f (x, y) y(x o ) Y o 近似解的梯形公式是 Y k 1 6、 ,则A 的谱半径;打= 7、 9、 解常微分方程初值问题的欧拉( Euler )方法的局部截断误差为 y 10 — 10、为了使计算 x 1 _2 (x J? (x 的乘除法运算次数尽量的少,应将表达式改写 11?设 X (2,3, 4)[则 IIX 11 I|X||2 13.已知n 3时,科茨系数 C 。3 1,C13 C/ 3 ,那么 C 33 14.因为方程 2x 在区间 1,2 上满足 ,所以 X 0 在区间内有根。 15.取步长h 0-1,用欧拉法解初值问题 的计算公式 16.设 X 2.40315是真值 X 2.40194 的近似值, 位有效数字。 17.对 f (X )x 3 x 1 ,差商 f[Q 1,2,3] )。 第二章插值法 2.在区间[-1,1]上分别取n=10,20用两组等距节点对龙哥函数f(x)=1/(1+25*x^2)做多项式插值及三次样条插值,对每个n值,分别画出插值函数及f(x)的图形。 (1)多项式插值 ①先建立一个多项式插值的M-file; 输入如下的命令(如牛顿插值公式): function [C,D]=newpoly(X,Y) n=length(X); D=zeros(n,n) D(:,1)=Y' for j=2:n for k=j:n D(k,j)=(D(k,j-1)- D(k-1,j-1))/(X(k)-X(k-j+1)); end end C=D(n,n); for k=(n-1):-1:1 C=conv(C,poly(X(k))) m=length(C); C(m)= C(m)+D(k,k); end ②当n=10时,我们在命令窗口中输入以下的命令: clear,clf,hold on; X=-1:0.2:1; Y=1./(1+25*X.^2); [C,D]=newpoly(X,Y); x=-1:0.01:1; y=polyval(C,x); plot(x,y,X,Y,'.'); grid on; xp=-1:0.2:1; z=1./(1+25*xp.^2); plot(xp,z,'r') 得到插值函数和f(x)图形: ③当n=20时,我们在命令窗口中输入以下的命令:clear,clf,hold on; X=-1:0.1:1; Y=1./(1+25*X.^2); [C,D]=newpoly(X,Y); x=-1:0.01:1; y=polyval(C,x); plot(x,y,X,Y,'.'); grid on; xp=-1:0.1:1; z=1./(1+25*xp.^2); plot(xp,z,'r') 得到插值函数和f(x)图形:Gauss-Seidel迭代法求解线性方程组
第三章 解线性方程组的直接方法
迭代法解线性方程组
2012研究生数值分析课期末考试复习题及答案
数值分析复习题及答案(20200829181216)
数值分析 插值法