我想使用toeplitz命令在Matlab中创建一个包含复杂元素的对称矩阵。但是,如果我提供带有复杂条目的toeplitz命令,它将返回一个Hermitian矩阵,也就是说,虚部的符号在对角线的上方和下方反转。
matrix = toeplitz([ 1 + 1i, 2 + 2i])
matrix =
1.0000 + 1.0000i 2.0000 + 2.0000i
2.0000 - 2.0000i 1.0000 + 1.0000i
如何创建一个对称矩阵,其中虚部的符号在对角线上方和下方相同,如下所示:
matrix =
1.0000 + 1.0000i 2.0000 + 2.0000i
2.0000 + 2.0000i 1.0000 + 1.0000i
答案 0 :(得分:2)
最简单的方法是将输入两次传递给toeplitz
,因为您实际上想要创建一个不对称的toeplitz矩阵,其中不对称的部分是Toeplitz矩阵的天然共轭复合物部分的共轭复合物:
X = [ 1 + 1i, 2 + 2i, 3 + 3i]
matrix = toeplitz( X, X )
matrix =
1.0000 + 1.0000i 2.0000 + 2.0000i 3.0000 + 3.0000i
2.0000 + 2.0000i 1.0000 + 1.0000i 2.0000 + 2.0000i
3.0000 + 3.0000i 2.0000 + 2.0000i 1.0000 + 1.0000i