欢迎来到天天文库
浏览记录
ID:8148222
大小:40.00 KB
页数:3页
时间:2018-03-07
《hilbert矩阵病态性分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
王刚200820303013Hilbert矩阵病态性分析200820303013王刚一、问题叙述Hilbert矩阵是著名的病态矩阵,用迭代法解矩阵方程时,如果系数矩阵是Hilbert矩阵,则求解结果误差较大。本文就研究Hilbert矩阵的病态性,和Hilbert矩阵的阶数与迭代求解误差大小的关系。二、问题分析MATLAB中有专门的Hilbert矩阵及其准确逆矩阵的生成函数,从而可以通过MATLAB求解出系数矩阵是Hilbert矩阵的矩阵方程比较准确的解,再根据条件数估计求解误差的大小。三、实验程序及注释m=input('inputm:=');%输入矩阵的阶数N=[m];fork=1:length(N)n=N(k);%矩阵的阶H=hilb(n);%产生n阶Hilbert矩阵disp(H)%输出n阶Hilbert矩阵Hi=invhilb(n);%产生完全准确的n阶逆Hilbert矩阵b=ones(n,1);%生成n阶全1向量x_approx=Hb;%利用左除H求近似解x_exact=Hi*b;%利用准确逆Hilbert矩阵求准确解ndb=norm(H*x_approx-b);nb=norm(b);ndx=norm(x_approx-x_exact);nx=norm(x_approx);er_actual(k)=ndx/nx;%实际相对误差K=cond(H);%计算Hilbert矩阵的条件数er_approx(k)=K*eps;%最大可能的近似相对误差er_max(k)=K*ndb/nb;%最大可能的相对误差enddisp('Hilbert矩阵阶数'),disp(N)formatshortedisp('实际误差er_actual'),disp(er_actual),disp('')disp('近似的最大可能差er_approx'),disp(er_approx),disp('')disp('最大可能误差er_max'),disp(er_max),disp('')四、实验数据结果及分析程序运行后,输入矩阵阶数4时的输出为:-3- 王刚200820303013inputm:=41.00000.50000.33330.25000.50000.33330.25000.20000.33330.25000.20000.16670.25000.20000.16670.1429Hilbert矩阵阶数4实际误差er_actual1.0284e-013近似的最大可能误差er_approx3.4447e-012最大可能误差er_max4.7732e-011当输入不同的矩阵阶数时,误差大小如表1所示。表1误差数据阶数481016100实际误差1.0284e-0131.7310e-0071.9489e-0042.6458e+0029.1294e+123近似的最大可能误差3.4447e-0123.3879e-0063.5583e-0031.3948e+0023.5120e+004-3- 王刚200820303013最大可能误差4.7732e-0113.8709e-0021.2703e+0036.2587e+0091.2236e+013五、实验结论对于高阶系数矩阵来说,如果系数矩阵是Hilbert矩阵,则迭代结果误差较大,而且阶数越大,误差就越大。-3-
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处