2

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

1 回答 1

2

最简单的方法是将输入两次传递给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
于 2016-03-29T08:37:19.930 回答