复杂向量转置返回带有错误符号的结果:MATLAB

时间:2017-07-24 04:10:15

标签: matlab matrix vector transpose

在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]

谁能告诉我这是什么问题?

1 个答案:

答案 0 :(得分:4)

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

  

非共轭转置算子A.'执行转换而不进行共轭。也就是说,它不会改变元素的虚部。