网络编程
位置:首页>> 网络编程>> Python编程>> 对Matlab中共轭、转置和共轭装置的区别说明

对Matlab中共轭、转置和共轭装置的区别说明

作者:zc_zhao  发布时间:2023-12-23 00:47:22 

标签: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

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

对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

来源:https://blog.csdn.net/zhaozhichenghpu/article/details/79162287

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com