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