Main Content

invhilb

希尔伯特矩阵的逆矩阵

说明

示例

对于小于 15 的 nH = invhilb(n) 生成确切希尔伯特矩阵的确切逆矩阵。对于较大的 ninvhilb 函数生成逆希尔伯特矩阵的近似值。

H = invhilb(n,classname) 返回 classname 类的矩阵,该类可以是 'single''double'

示例

全部折叠

计算希尔伯特矩阵的四阶逆矩阵。

invhilb(4)
ans = 4×4

          16        -120         240        -140
        -120        1200       -2700        1680
         240       -2700        6480       -4200
        -140        1680       -4200        2800

输入参数

全部折叠

矩阵的阶次,指定为非负整数标量。

示例: invhilb(10)

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

矩阵的类,指定为 'double''single'

示例: invhilb(10,'single')

数据类型: char

局限性

确切希尔伯特矩阵的确切逆矩阵是其元素为大整数的矩阵。只要矩阵的阶次 n 小于 15,这些整数就可以表示为浮点数,且不会有舍入误差。

比较 invhilb(n)inv(hilb(n)) 将涉及两组或三组舍入误差的影响:

  • 表示 hilb(n) 时产生的误差

  • 矩阵求逆过程中的误差

  • 表示 invhilb(n) 时产生的误差(如果有)

在这些舍入误差中,第一种涉及以浮点表示分数(例如 1/3 和 1/5)产生的误差,是最显著的。

参考

[1] Forsythe, G. E. and C. B. Moler. Computer Solution of Linear Algebraic Systems. Englewood Cliffs, NJ: Prentice-Hall, 1967.

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2006a 之前推出

另请参阅