文档库 最新最全的文档下载
当前位置:文档库 › 数值分析复习--- 第五章 解线性方程组的直接法

数值分析复习--- 第五章 解线性方程组的直接法

郑州大学研究生课程(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 消去法同.

数值分析复习题及答案65177

数值分析复习题 一、选择题 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 有 位有效数字。

MATLAB代码 解线性方程组的迭代法

解线性方程组的迭代法 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 ''∴= --

数值分析5-用Jacobi迭代法和Gauss-Seidel迭代法求解线性方程组

作业六:分别编写用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)100 warning('不收敛'); end end x=x0;

程序结果(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 ij U(i,j)=A(i,j); end end end for i=1:n%初始化D D(i,i)=A(i,i); end G=-inv(D+L)*U;%初始化G d=(D+L)\b;%初始化d %迭代开始 x1=x; x2=G*x+d; while norm(x2-x1,inf)>10^(-6)

直接法解线性方程组

直接法解线性方程组 实习题目: 仿照三对角方程组的追赶法解五对角方程组,其中系数矩阵为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);

数值分析期末考试复习题及其答案.doc

数值分析期末考试复习题及其答案 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 #include using namespace std; float *one_array_malloc(int n); //一维数组分配float **two_array_malloc(int m,int n); //二维数组分配float matrix_category(float* x,int n); int main() { const int MAX=100;//最大迭代次数 int n,i,j,k; float** a; float* x_0; //初始向量 float* x_k; //迭代向量 float precision; //精度 float w; //松弛因子 cout<<"输入精度e:"; cin>>precision; cout<>n; a=two_array_malloc(n,n+1); cout<>a[i][j]; } } x_0=one_array_malloc(n); cout<>x_0[i]; } x_k=one_array_malloc(n);

cout<<"输入松弛因子w (1>w; float temp; //迭代过程 for(k=0;k

Gauss-Seidel迭代法求解线性方程组

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

2012研究生数值分析课期末考试复习题及答案

一、填空 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 ) ___。

数值分析复习题及答案(20200829181216)

曲 為 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)图形:

相关文档
相关文档 最新文档