轉置運算子
.'
是在 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 共軛,複共軛轉置,那麼使用'
(沒有周期)。如果你只想計算轉置而不復雜地共軛值,請使用 .'
(帶週期)。