matlab 病态方程组,数值分析(Hilbert矩阵)病态线性方程组的求解Matlab程序

(Hilbert 矩阵)病态线性方程组的求解

理论分析表明,数值求解病态线性方程组很困难。考虑求解如下的线性方程组的求解Hx = b ,期中H 是Hilbert 矩阵,()ij n n H h ?=,11

ij h i j =

+-,i ,j = 1,2,…,n 1. 估计矩阵的2条件数和阶数的关系 2. 对不同的n ,取(1,1,,1)n

x =∈K ?,分别用Gauss 消去,Jacobi 迭代,Gauss-seidel 迭

代,SOR 迭代和共轭梯度法求解,比较结果。

3. 结合计算结果,试讨论病态线性方程组的求解。

第1小题:

condition.m %第1小题程序

t1=20;%阶数n=20

x1=1:t1;

y1=1:t1;

for i=1:t1

H=hilb(i);

y1(i)=log(cond(H));

end

plot(x1,y1);

xlabel('阶数n');

ylabel('2-条件数的对数(log(cond(H))');

title('2-条件数的对数(log(cond(H))与阶数n 的关系图');

t2=200;%阶数n=200

x2=1:t2;

y2=1:t2;

for i=1:t2

H=hilb(i);

y2(i)=log(cond(H));

end

plot(x2,y2);

xlabel('阶数n');

ylabel('2-条件数的对数(log(cond(H))');

title('2-条件数的对数(log(cond(H))与阶数n 的关系图');

画出Hilbert 矩阵2-条件数的对数和阶数的关系

你可能感兴趣的:(matlab,病态方程组)