1. 程式人生 > 程式設計 >對Matlab中共軛、轉置和共軛裝置的區別說明

對Matlab中共軛、轉置和共軛裝置的區別說明

共軛

轉置

共軛轉置

The symbols (·)T,(·)∗,and (·)H are,respectively,the transpose,complex conjugate 
and Hermitian transpose operators.

這裡使用隨機產生的矩陣來說明問題,例如:

A=randn(2,2)+randn(2,2)*i
A=randn(2,2)*j
A=randn(2,2)*1i

三種方式結果一致,為了程式的穩定性,建議使用第三種產生

對Matlab中共軛、轉置和共軛裝置的區別說明

共軛

使用共軛符號後

conj(A)

對Matlab中共軛、轉置和共軛裝置的區別說明

矩陣的每一個元素都取了共軛

轉置

A.'

對Matlab中共軛、轉置和共軛裝置的區別說明

對矩陣進行了轉置

共軛轉置

conj(A.')

或者

conj(A).'

對Matlab中共軛、轉置和共軛裝置的區別說明

先共軛還是轉置,結果都是一致的,不分先後順序

%上訴的寫法比較麻煩,但是不容易搞混淆,尤其有程式中有共軛,有裝置,有共軛裝置
%如果程式中沒有這些可以使用以下符號
A'

這個是埃爾米特轉置運算子,進行轉置和共軛,結果一致;如果進行操作的數是實數,那麼可以直接使用這個符號,這時候共軛的作用消失了,起到的是和轉置一樣的作用,之前沒有接觸複數,以為這個就是轉置,事實上不是的

補充知識:matlab 復矩陣共軛

A 為復矩陣

A =

 1.0000 + 0.0000i 2.0000 - 3.0000i 3.0000 + 0.0000i 4.0000 + 0.0000i
 4.0000 + 0.0000i 3.0000 + 4.0000i 2.0000 + 5.0000i 1.0000 + 0.0000i
 7.0000 + 0.0000i 8.0000 + 2.0000i 9.0000 + 0.0000i 6.0000 + 0.0000i

A':共軛轉置

>> A'
ans =

 1.0000 + 0.0000i 4.0000 + 0.0000i 7.0000 + 0.0000i
 2.0000 + 3.0000i 3.0000 - 4.0000i 8.0000 - 2.0000i
 3.0000 + 0.0000i 2.0000 - 5.0000i 9.0000 + 0.0000i
 4.0000 + 0.0000i 1.0000 + 0.0000i 6.0000 + 0.0000i

A.':只轉置不共軛

>> A.'
A =

 1.0000 + 0.0000i 2.0000 - 3.0000i 3.0000 + 0.0000i 4.0000 + 0.0000i
 4.0000 + 0.0000i 3.0000 + 4.0000i 2.0000 + 5.0000i 1.0000 + 0.0000i
 7.0000 + 0.0000i 8.0000 + 2.0000i 9.0000 + 0.0000i 6.0000 + 0.0000i

conj(A):只共軛

>> conj(A)
ans =

 1.0000 + 0.0000i 2.0000 + 3.0000i 3.0000 + 0.0000i 4.0000 + 0.0000i
 4.0000 + 0.0000i 3.0000 - 4.0000i 2.0000 - 5.0000i 1.0000 + 0.0000i
 7.0000 + 0.0000i 8.0000 - 2.0000i 9.0000 + 0.0000i 6.0000 + 0.0000i

A.*conj(A) == abs(A).^2

>> A.*conj(A)
ans =

  1 13  9 16
 16 25 29  1
 49 68 81 36

>> abs(A).^2
ans =

 1.0000 13.0000 9.0000 16.0000
 16.0000 25.0000 29.0000 1.0000
 49.0000 68.0000 81.0000 36.0000

以上這篇對Matlab中共軛、轉置和共軛裝置的區別說明就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。