2026a

# hankel


Hankel 矩阵

函数库: TyMath

# 语法

H = hankel(c)
H = hankel(c,r)

# 说明

H = hankel(c) 返回正方形 Hankel 矩阵,其中 c 定义矩阵的第一列,主反对角线以下的元素为零。示例


H = hankel(c,r) 返回 Hankel 矩阵,第一列为 c,最后一行为 r。如果 c 的最后一个元素不同于 r 的第一个元素,则 hankel 会发出警告,并对反对角线使用 c 的最后一个元素。示例

# 示例

创建对称 Hankel 矩阵

创建一个对称 Hankel 矩阵。

using TyMath
c = [1,2,3,4]
hankel(c)
ans = 4×4 Matrix{Int64}:
 1  2  3  4
 2  3  4  0
 3  4  0  0
 4  0  0  0
创建非对称 Hankel 矩阵

用指定的列和行向量创建一个非对称 Hankel 矩阵。

using TyMath
c = [2,4,6]
r = [6,5,4,3,2,1]
hankel(c,r)
ans = 3×6 Matrix{Int64}:
 2  4  6  5  4  3
 4  6  5  4  3  2
 6  5  4  3  2  1

创建另一个非对称 Hankel 矩阵。如果列向量的最后一个元素与行向量的第一个元素不匹配,则 hankel 会发出警告,并将列的最后一个元素用作反对角线元素。

c = [1,2,3]
r = [4,5,7,9]
hankel(c,r)
ans = 3×4 Matrix{Int64}:
 1  2  3  5
 2  3  5  7
 3  5  7  9
用复数元素创建 Hankel 矩阵

用复数行向量和列向量创建一个 Hankel 矩阵。

using TyMath
c = [1+2im,2-4im,-1+3im]
r = [-1+3im,3-im,1-2im]
hankel(c,r)
ans = 3×3 Matrix{Complex{Int64}}:
1+2im   2-4im  -1+3im
2-4im  -1+3im   3-1im
-1+3im   3-1im   1-2im
计算 Hankel 矩阵

创建其第一列是 c 并且其最后一行是 r 的 Hankel 矩阵。

using TyMath
c = 1:3
r = 3:6
h = hankel(c, r)
3×4 Matrix{Int64}:
 1  2  3  4
 2  3  4  5
 3  4  5  6

# 输入参数

c - Hankel 矩阵的第一列
标量|向量

Hankel 矩阵的第一列,指定为标量或向量。

数据类型: Int64 | Int32 | Int16 | Int128 | Float16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64

复数支持: 是

r - Hankel 矩阵的最后一行
标量|向量

Hankel 矩阵的第一列,指定为标量或向量。

数据类型: Int64 | Int32 | Int16 | Int128 | Float16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64

复数支持: 是

# 详细信息

Hankel 矩阵

在 Hankel 矩阵中,沿每个反对角线的元素相等。

如果 c 是 Hankel 矩阵的第一列,r 是 Hankel 矩阵的最后一行,则 p = [c r(2:end)] 使用映射 来完整确定 Hankel 矩阵的所有元素。所有正方形 Hankel 矩阵都是对称的。

# 另请参阅

hadamard | kron | toeplitz