MATLAB中的转置 和 复数的共轭转置
在MATLAB中转置是经常用到的一个操作,但是当处理的数据是复数时,就要十分的小心。因为常用的转置操作符“ ’ ”是共轭转置 。下面做具体介绍。
转置
学过线性代数就知道,转置就是:矩阵的行绕着对角线元素转为列(或者说成列绕着对角线元素转为行)。具体长下面这样:
通常在MATLAB里面实现转置这个操作,使用“ ’ ”这一运算符,但 是 要 注
意“ ’ ”操作默认是共轭转置,正确的做法应当是 加个点“ .’ ” (如上图所示)这样才是单纯的矩阵转置。
当所处理的数据都是实数的时候,共轭转置和普通转置就是一样的,不论用哪一个操作都可以得到正确结果。
共轭转置
什么是共轭转置呢?很直白,就是字面意思:共轭+转置。共轭是针对复数而言的一个概念,就是把虚数部分的符号反号处理,这样就得到了一个复数的共轭。
当在MATLAB里面处理的数据是复数的时候,就要注意使用的转置是否希望共轭。如果单纯的使用“ ’ ”,就会得到下面这样的结果:
可以看到,除了对矩阵做了转置的操作外,还对复数做了共轭的操作。如果这里只想要让矩阵单纯的转置而不做共轭,就需要使用“ .’ ”,如C所示,这样就只是单纯的进行转置。
对于复数向量,共轭转置更为常用。但是保不齐哪天就想单纯的做复数转置,所以想转置就使用 “ .’ ”。这也是在对代码反复修改而找不到原因所得到的血泪教训。