首页 > 编程语言 > 对Matlab中共轭、转置和共轭装置的区别说明
2020
09-29

对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)+randn(2,2)*j
A=randn(2,2)+randn(2,2)*1i

三种方式结果一致,为了程序的稳定性,建议使用第三种产生

共轭

使用共轭符号后

conj(A)

矩阵的每一个元素都取了共轭

转置

A.'

对矩阵进行了转置

共轭转置

conj(A.')

或者

conj(A).'

先共轭还是转置,结果都是一致的,不分先后顺序

%上诉的写法比较麻烦,但是不容易搞混淆,尤其有程序中有共轭,有装置,有共轭装置
%如果程序中没有这些可以使用以下符号
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中共轭、转置和共轭装置的区别说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持自学编程网。

编程技巧