如何创建复数的对称矩阵?

时间:2016-03-29 07:40:56

标签: matlab matrix toeplitz

我想使用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

1 个答案:

答案 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