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共轭,则复共轭转置,然后使用'(没有句点)。如果只想计算转置而不将值复数共轭,请使用.'(带句点)。