MATLAB转置运算符

示例

  • .'是在MATLAB中转向量或矩阵的正确方法。

  • '是在MATLAB中采用向量或矩阵的复共轭转置(又称Hermitian共轭)的正确方法。

请注意,对于转置.',撇号前面有一个句点。这是在与所述语法MATLAB中的其他元件为单位的运算保持:*乘法矩阵,.*乘以矩阵的元素一起。这两个命令非常相似,但在概念上却非常不同。像其他MATLAB命令一样,这些运算符是“语法糖”,在运行时变成了“适当”的函数调用。正如==对eq函数的求值一样,请.'视为的简写transpose。如果您只写'(没有重点),实际上您正在使用ctranspose命令而是计算复杂的共轭转置,也称为厄米共轭,通常在物理学中使用。只要转置的向量或矩阵是实值,这两个算子就会产生相同的结果。但是,一旦我们处理复数,如果不使用“正确”的简写,我们将不可避免地遇到问题。什么是“正确的”取决于您的应用程序。

考虑以下C包含复数的矩阵的示例:

>> C = [1i, 2; 3*1i, 4]
C =
   0.0000 + 1.0000i   2.0000 + 0.0000i
   0.0000 + 3.0000i   4.0000 + 0.0000i

让我们使用速记(带有句点)进行转置.'。输出与预期的一样,是的转置形式C。

>> C.'
ans =
   0.0000 + 1.0000i   0.0000 + 3.0000i
   2.0000 + 0.0000i   4.0000 + 0.0000i

现在,让我们使用'(无期限)。我们看到,除了转置之外,复数值也已转换为它们的复共轭

>> C'
ans =
   0.0000 - 1.0000i   0.0000 - 3.0000i
   2.0000 + 0.0000i   4.0000 + 0.0000i

综上所述,如果您打算计算Hermitian共轭,则复共轭转置,然后使用'(没有句点)。如果只想计算转置而不将值复数共轭,请使用.'(带句点)。