课程名称:设计题目:
学 号:姓 名:
完成时间:
程 设 计
数值分析
2014.11.18
课
题目一: 解线性方程组的直接法 设方程组Ax?b,其中
?1x0?1x1A?????1x5?2x05?x0?x15?, ?5?x5??x122x5矩阵中xk?1?0.1k(k?0,1,,5),b由相应的矩阵元素计算,使解向量
x?(1,1,,1)T。
(1) A不变,对b的元素b6加一个扰动10?4,求解方程组;
(2) b不变,对A的元素a22和a66分别加一个扰动10?6,求解方程组; (3) 对上述两种扰动方程组的解做误差分析。
一.数学原理:
本计算采用直接法中的列主元高斯消元法,高斯列主元消元法原理如下: 1、设有n元线性方程组如下:
?a11???a?n1a1n???ann???x1???x?n??b1???=???b??n??? ??2、
第一步:如果a11!=0, 令
li1= ai1/a11, I= 2,3,……,n
用(-li1)乘第一个方程加到第i个方程上,得同解方程组:
a(1)11 a(1)12 . . . a(1)1n x1 b(1)1 a(1)21 a(1)22 . . . a(1)2n x2 b(1)2 . . . . . . . = . a(1)n-11 a(1)n-12 . . a(1)n-1n xn-1 b(1)n-1 (1)(1)(1)(1)an1 an2 . . . ann xn bn
简记为:
A(2) x = b(2) 其中
a(2)ij = a(1)ij – li1 * a(1)1j , I ,j = 2,3,..,n b(2)I = b(1)I – li1 * b(1)1 , I = 2,3,...,n 第二步:如果a(2)22 != 0,令
li2= a(2)i2/a(2)22, I= 3,……,n
依据同样的原理,对矩阵进行化间(省略),依次下去,直到完成! 最后,得到上三角方程组:
a(1)11 a(1)12 . . . a(1)1n x1 b(1)1
0 a(1)22 . . . a(1)2n x2 b(1)2 . . . . . . . = . 0 0 . . a(n-1)n-1n xn-1 b(n-1)n-1 0 0 . . . a(n)nn xn b(n)n
简记为:
(n) (n)
Ax = b
最后从方程组的最后一个方程进行回代求解为:
Xn = b(n) / a(n)nn
Xi = ( b(k)k - ? a(k)kjxj ) / a(k)kk
二.解题过程:
1.由题中所给条件可求出b。
B =
6.0000 7.7156 9.9299 12.7560 16.3238 20.7813
(1) A不变,对b的元素b6加一个扰动10,求解方程组。
?4B =[6.0000 7.7156 9.9299 12.7560 16.3238 20.7813+0.0001]'
解得x =[0.5997 2.6920 -1.8500 3.3917 0.0000 1.1667]’
(2)b不变,对A的元素a22和a66分别加一个的扰动,求解方程组。
A =
1.000000000000000 1.000000000000000 1.000000000000000 1.000000000000000 1.000000000000000 1.000000000000000
1.000000000000000 1.100001000000000 1.210000000000000 1.331000000000000 1.464100000000001 1.610510000000001
1.000000000000000 1.200000000000000 1.440000000000000 1.728000000000000 2.073600000000000 2.488319999999999
1.000000000000000 1.300000000000000 1.690000000000000 2.197000000000000 2.856100000000001 3.712930000000001
1.000000000000000 1.400000000000000 1.960000000000000 2.743999999999999
3.841599999999999 5.378239999999998
1.000000000000000 1.500000000000000 2.250000000000000 3.375000000000000 5.062500000000000 7.593751000000000
x =[0.825832305593523 1.742109746543727 -0.259537880024995 2.064585114452380 0.551832152872303 1.075178560563062]’
三、误差分析:
从上面计算结果可以看出,当系数矩阵或右端向量发生极小的扰动,方程组的解也会产生很大的误差,产生的原因是范德蒙阵为变态阵。
由数值计算知识可知
?xx??b?cond?A???A? ???1??b?1?A?A?A其中cond?A??A?A?1 为条件数,从上式看到,当A的条件数很大时,解的相对误差也很大,此时的对应的线性方程为病态线性方程组。
计算条件数时,取矩阵的无穷范数,经计算得矩阵A、受c,d扰动后的矩阵D和E的条件数为
cond?A??1.0668e+07;cond?B??6.9639e+06;cond?E??2.3434e+07; 可以看到三个矩阵的条件数非常大,即使系数矩阵或右端向量发生很小的变化,也会导致解产生很大的误差。
四、收获与体会:
运用matlab编程解决数学问题很方便,病态阵的条件数非常大,给系数矩阵或者右端向量一个很微小的扰动,方程组的解也会产生很大的变动。通过做这个题目,我对让课上抽象病态现象有了直观的认识。
题目二:多项式插值
在区间[?5,5]上对龙格函数R(x)?1做插值,分别用等距节点(节点步长h?1)1?x2和切比雪夫多项式T11(x)的零点做插值节点,画出原函数和两个插值函数的图像进行比较,并利用||?||?对两种插值方法做误差分析。 一.数学原理: 1.拉格朗日等距节点插值 拉格朗日插值多项式为
其中 余项为
Ln?x???lk?x?yk=?ykk?0k?0nn?n?1?x??x?xk??n?1??x?
?n?1?x?=?xk?x0??xk?xk?1??xk?xk?1??xk?xn?
f?n?1????Rn?x??f?x??Ln?x???n?1?x?
?n?1?!?与x0xn,x有关。
2.拉格朗日以切比雪夫零点为节点插值 切比雪夫多项式
Tn?x??cos?narccosx?,x?1.
在区间??1,1? 上有n 个零点,为
xk?cos2k?1?,k?0,1,2,32n,n?1
由上式得到切比雪夫多项式Tn+1?x?的n?1个零点,并作为插值节点做拉格朗日插值,得到多项式Pn?x?。 一.计算过程:
原函数为y=1./(1+x.^2),通过matlab绘图得到原函数图像为: