ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:61.55KB ,
资源ID:10967498      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10967498.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数值求解Hilbert病态线性方程组.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数值求解Hilbert病态线性方程组.docx

1、数值求解Hilbert病态线性方程组病态线性代数方程组的求解理论的分析表明,求解病态的线性代数方程组是困难的。考虑方程组Hx =b的求解,其中H为Hilbert矩阵, 1. 估计Hilbert矩阵2-条件数与阶数的关系;2. 选择问题的不同维数,分别用Gauss消去法,Jacobi迭代,GS迭代和SOR迭代求解,比较结果;3. 讨论病态问题求解的算法。解:1、取Hilbert矩阵阶数最高分别为n=20和n=100。采用Hilbert矩阵的2-条件数作为实验的比较对象,画出的曲线如下图所示: 从图中可以看出,在n13之前,图像接近直线,在n13之后,图像趋于平缓,在一定的范围内上下波动。为了比较

2、图像的线性部分,作出一条直线与已知曲线进行比较。比较直线的关系式为:,结果下图所示。从图2中可以看出,当n较小时,之间近似满足线性关系。当n继续增大到100时,关系图下图所示:从图中可以看出,图像的走势符合在n=20时的猜想,在n大于一定的值之后,图像趋于平缓,且在一定范围内震荡,同时又有一定上升趋势,但上升速度很慢。2、选择不同的阶数n,设方程组的精确解为xz=(1,1,1)T进行计算,用四种方法解x_Guass1、x_Jacobi1、x_GS1、x_SOR1对比表如下表所示。四种方法解x_Guass、x_Jacobi、x_GS、x_SOR对比表nx_Guassx_Jacobix_GSx_S

3、OR31-8.22E+3070.9999911-1.552e+30810.999991-Inf0.999971411.0172e+30810.999991Inf0.999651.00011Inf1.00080.999741Inf0.999481.000251-6.07E+3070.998791.00011-1.2685e+3081.02230.999041-1.6592e+3080.905111.0041-Inf1.14210.994111-Inf0.930951.002861-6.64E+3070.9994911-1.4322e+3081.00590.999541-Inf0.995181.0

4、0111-Inf0.951491.00091-Inf1.10210.996211-Inf0.945361.002371-9.20E+3071.000711-Inf0.981921.00021-Inf1.10220.99791-Inf0.808241.00621-Inf1.0620.994641-Inf1.14480.998981-Inf0.899561.0021811.4378e+3081.00190.999971Inf0.958751.0011Inf1.19620.994081Inf0.730241.01141Inf0.954490.994641Inf1.18240.998061Inf1.1

5、4660.996681Inf0.828041.0042915.09E+3071.00310.9999211.1719e+3080.939461.001911.6249e+3081.24890.990291Inf0.754461.01540.99999Inf0.838240.995491Inf1.09850.998760.99998Inf1.22470.994051Inf1.11480.999691Inf0.775611.0046101-7.82E+3071.00360.999941-Inf0.93761.00111-Inf1.21420.995551-Inf0.889821.00450.999

6、92-Inf0.779991.00111.0002-Inf0.958251.00030.99964-Inf1.16090.997481.0003-Inf1.22070.997760.99982-Inf1.08170.999271-Inf0.750191.0031117.97E+3071.00290.999951Inf0.958571.00070.99998Inf1.09130.998091.0002Inf1.09090.99980.99894Inf0.802911.0031.0037Inf0.828491.0010.99187Inf1.02360.999361.0111Inf1.18860.9

7、97760.99081Inf1.21280.997991.0042Inf1.06010.999610.99916Inf0.736721.00281218.11E+3071.00120.999971Inf0.995921.00030.99993Inf0.919041.00021.0009Inf1.29740.996210.99316Inf0.887531.0041.0298Inf0.743091.00140.91765Inf0.874511.0011.1481Inf1.08370.998340.82734Inf1.22150.997821.1258Inf1.21480.998030.9479In

8、f1.04310.999931.0094Inf0.715151.00291314.90E+3070.998980.999990.999971.1863e+3081.03880.99991.00121.6981e+3080.74141.00220.98043Inf1.46940.993251.1771Inf1.0031.00450.033234Inf0.706161.00154.3909Inf0.746491.0023-6.8988Inf0.953940.9991313.35Inf1.16010.99821-11.81Inf1.26350.997399.4534Inf1.21940.99831-

9、2.2127Inf1.01981.00021.5352Inf0.675951.00321415.94E+3070.9967710.999991.4525e+3081.07990.999511.0004Inf0.58371.00410.99479Inf1.59150.990681.0373Inf1.12841.00460.85719Inf0.711571.00151.2465Inf0.650911.00351.176Inf0.824241-0.85802Inf1.06130.99895.3287Inf1.24210.99733-4.4541Inf1.3020.997485.0263Inf1.21

10、660.99841-0.64129Inf0.985591.00061.2863Inf0.621961.0035211Inf0.9894910.99978Inf1.16240.999291.0084Inf0.559161.00170.86586Inf0.938321.00142.1174Inf1.53570.9961-4.2693Inf1.44540.9985715.159Inf1.05070.99966-18.28Inf0.698661.00176.2524Inf0.526541.002113.831Inf0.538331.002110.008Inf0.681851.0014-49.838In

11、f0.892471.000445.871Inf1.11260.99942-27.1Inf1.29840.9986154.555Inf1.41970.99808-34.976Inf1.45850.99793-31.788Inf1.40570.9981824.491Inf1.25930.9988541.386Inf1.02150.99993-43.821Inf0.697761.001413.526Inf0.295371.0032Gauss消去法求解:选择问题的阶数为38时,用Gauss消去法求得的解与精确解一致,当阶数为914时,解开始出现偏差,而且n越大,偏差越大。 用迭代法求解:取初始向量为1

12、.2(1,1,1)T.无论n为多少阶,用Jacobi迭代方法迭代出现发散的不稳定现象,无法求解;用GS迭代方法迭代不发散,能求得解,但收敛非常缓慢,当迭代次数取得相当大(20000次)时解仍在精确解附近波动;取w=1.5,用SOR迭代方法迭代不发散,能求得解,收敛速度较GS迭代快一些,但仍非常缓慢。选择问题的阶数为21时:用Gauss消去法求得的解与精确解相差很大,相差10的量级。用迭代法求解时,取初始向量为1.2(1,1,1)T.用Jacobi迭代方法迭代发散,无法求解;用GS迭代方法迭代不发散,能求得解,但收敛非常缓慢,迭代20000次后,算得的值与精确值1相差很大。用SOR迭代方法迭代不

13、发散,能求得解,收敛速度还行。从上面的结果可以看出当病态问题的阶数升高时作为直接法的Gauss消去法又能求解变成不能求解。用Jacobi迭代方法迭代发散,无法求解;而GS和SOR迭代法在阶数升高时仍能求解,选择合适的w,可使SOR迭代法收敛速度加快。但在阶数较低时直接法能求得精确解而迭代法却总存在一定的误差。可见直接法与迭代法各有各的优势与不足。3、关于病态问题的求解,主要的方法是对原方程作某些预处理,以降低系数矩阵的条件数。例如选择非奇异矩阵,使方程组化为等价方程组,原方程的解.原则上应使矩阵的条件数比有所改善。一般和可选择为三角形矩阵或对角矩阵。理论上最好选择对角阵和,满足:。以Hilbe

14、rt矩阵为例。上图中的(Dn为Hn的对角线元素开方构成的对角矩阵),n为希尔伯特矩阵的阶数。我们观察到,随希尔伯特矩阵阶数的增大,函数在-3,1.5区间波动,主要集中在-1.5,0.5区间。我们知道当时,有,在上图中,我们可以很容易的观察到,对于大部分n,函数值都是小于或者等于零的,这说明Hn经过预处理后的hn的条件数较小,在一定程度上改善了原希尔伯特矩阵的性质。由于希尔伯特矩阵病态的性质,对于对原希尔伯特矩阵进行预处理后的新希尔伯特矩阵的条件数在一定的区间呈波动的变化规律。从整体上观察,对于大多数的n,进行预处理后的希尔伯特矩阵的条件数有明显的降低,这就说明预处理改善了大多数阶数的希尔伯特矩

15、阵的性质。第1小题Matlab编程如下:t1=20i1=1:t1for n=1:t1 H=hilb(n) K1(n)=cond(H) K(n)=log10(K1(n)endl1=1.519*i1-1.833plot(i1,K(i1),i1,l1)xlabel(n,fontsize,20)ylabel(lg(cond(Hn),fontsize,20)title(lg(cond(Hn)n关系图,fontsize,24)set(gca,fontsize,16)figure t2=100i2=1:t2for n=1:t2 H=hilb(n) K1(n)=cond(H) K(n)=log10(K1(n)

16、endplot(i2,K(i2)xlabel(n,fontsize,20)ylabel(lg(cond(Hn),fontsize,20)title(lg(cond(Hn)n关系图,fontsize,24)set(gca,fontsize,16)第2小题Matlab编程如下:clearfor m=3:25n=m % Hilbert矩阵的阶数n1=n+1H=hilb(n)K=cond(H)u=1.2x0=u*ones(n,1)xz=ones(n,1)b=H*xz a=HD=diag(diag(a)U=-triu(a,1)L=-tril(a,-1)w=1.5d=1.0e-6max=1000c=a,b

17、% Gauss消去法for k=1:n bmax=0; % 选主元,并存放在变量 bmax 中 for i=k:n if bmax-abs(c(i,k)0 bmax=abs(c(i,k); l=i; % 记下绝对值最大者所在位置 end end if bmax=d)&(kJacobi=d)&(kGS=d)&(kSORmax) x4=xSOR xSOR=lw*x4+fS kSOR=kSOR+1endfor p=1:mxGuass1(p,m)=xGuass(p,1)xJacobi1(p,m)=xJacobi(p,1)xGS1(p,m)=xGS(p,1)xSOR1(p,m)=xSOR(p,1)x(p

18、,4*m-3)=xGuass1(p,m)x(p,4*m-2)=xJacobi1(p,m)x(p,4*m-1)=xGS1(p,m)x(p,4*m)=xSOR1(p,m)endend第3小题Matlab编程如下:cleark=500i=1:kfor n=1:kH=hilb(n)K(n)=cond(H)D1=diag(sqrt(diag(H)D=inv(D1)Hy=D*H*DKy1(n)=cond(Hy)Ky(n)=log10(Ky1(n)/K(n)end plot(i,Ky)xlabel(n,fontsize,20)ylabel(lg(cond(hn),fontsize,20)title(lg(cond(hn)/cond(Hn)n关系图,fontsize,24)set(gca,fontsize,16)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1