在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]
谁能告诉我这是什么问题?
答案 0 :(得分:4)
matlab中的素数运算符'
实际上是ctranspose的别名,它不仅将行转换为列,或将列转换为普通矩阵或向量的行,还计算复共轭,即改变虚部的符号。
非共轭转置算子
A.'
执行转换而不进行共轭。也就是说,它不会改变元素的虚部。