转置运算符

  • .'是在 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 共轭,复共轭转置,那么使用'(没有周期)。如果你只想计算转置而不复杂地共轭值,请使用 .'(带周期)。