符号错误的复向量转置 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.
在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.