Matlab:实域中的平方运算是复域中的共轭运算吗?

Matlab : Is the square operation in real domain the Conjugate operation in complex domain?

我正在尝试评估实域中的表达式 z = (x-y)^2 及其在复域中的相应适应性。对于实域,此表达式实现为 让

x = 5;
y = 2;
z = (x-y)^2

z =

     9

在复杂域中,表达式将变为(如有错误请指正)

z_c = (x_c - y_c)(x_c - y_c)* 这是在 Matlab 中实现的

>> x_c = 5 + 0.9i;
 y_c = 2 - 0.34i;
 z_c = (x_c-y_c)*conj((x_c -y_c))
z_c =

   10.5376

数学中共轭的*运算符由conj()

实现

答案不同,我使用的运算符是否正确?

在 MATLAB 中有很多方法可以解决这个问题:

x = 5 + 2i;
y = 2 - 4i;

% Method A

(x - y) * conj(x - y);

% Method B

(x - y)' * (x - y);

% Method C

norm(x - y, 2) ^ 2;

第一种方法是使用共轭运算符。
此方法是在假设 xy 都是标量的情况下编写的。

方法 B 使用内积的定义(' 是向量伴随运算符 - 转置和共轭)。
它也适用于矢量。

方法 C 使用了 MATLAB 的内置 norm() 函数。

尽情享受吧。