MATLAB如何使用hilb函数创建Hilbert(希尔伯特)矩阵

2020年12月18日14:26:43MATLAB如何使用hilb函数创建Hilbert(希尔伯特)矩阵已关闭评论

MATLAB如何使用hilb函数创建Hilbert(希尔伯特)矩阵

【语法说明】

Y=hilb(n):生成 n 阶 Hilbert 矩阵,其元素值为 Y(i, j)=1/(i+j−1)。

【功能介绍】生成Hilbert矩阵,该矩阵是一个方阵。Hilbert矩阵是数学上一个著名的病态矩阵,所谓病态矩阵是指,在由该矩阵构成的线性方程组中,只要矩阵元素发生微小变化,方程组的解就会发生很大变化。Hilbert矩阵的病态程度与阶数有关,阶数越高病态程度越强。

【实例】生成一个5阶的Hilbert矩阵,求其行列式;求3阶、12阶Hilbert矩阵的行列式。

>> d=hilb(5)  % 5阶Hilbert矩阵

d =

1.0000 0.5000 0.3333 0.2500 0.2000

0.5000 0.3333 0.2500 0.2000 0.1667

0.3333 0.2500 0.2000 0.1667 0.1429

0.2500 0.2000 0.1667 0.1429 0.1250

0.2000 0.1667 0.1429 0.1250 0.1111

>> cond(d)  % d的条件数

ans =

4.7661e+005

>> cond(hilb(3)) % 3阶Hilbert矩阵的条件数

ans =

524.0568

>> cond(hilb(7)) % 12阶Hilbert矩阵的条件数

ans =

4.7537e+008

【实例讲解】Hilbert矩阵是非奇异阵,但其行列式非常接近零。由于其病态特性,如果一个线性方程组的系数矩阵为Hilbert矩阵,则该方程不能使用通常的方法进行求解,否则解的正确性无法保证。cond函数用于求矩阵的条件数,条件数越大则病态程度越强。

  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。