符号错误的复向量转置 returns 结果:MATLAB

Complex vector transpose returns result with wrong signs: MATLAB

在matlab中我有一个矩阵As

As = zeros(m, n);

接下来,我将值赋给 As 并转置特定列:

for idx = 1:n
   % Assign value to As, then assign to 'a' and 's'
   a = As(:, idx)';
   s = As(:, idx);
end

那么s就是一个列向量如:

s = [0.1 - 0.2i
     0.3 + 0.4i]

但是 a 中的元素有翻转的符号:

a = [0.1 + 0.2i, 0.3 - 0.4i]

这让我很困惑,我的意思是 s 的转置应该是一行(没问题),符号的顺序是 -+ 就像

a = [0.1 - 0.2i, 0.3 + 0.4i]

谁能告诉我问题出在哪里?

matlab中的质数运算符'实际上是ctranspose的别名,它不仅可以将普通矩阵或向量的行转列,或列转行,还可以计算复数共轭,即改变虚部的符号。

The non-conjugate transpose operator A.', performs a transpose without conjugation. That is, it doesn't change the imaginary parts of the elements.