Matlab:使用复数进行乘法 - 正确的运算符是什么?
Matlab : Multiplication using complex numbers - what is the proper operator?
我正在尝试使用复数值数据计算表达式 (z*(z-h*a))^2
。当输入为实值时,此表达式工作正常。我应该得到一个标量。但是,使用复值输入我得到了一个向量。复数乘法的正确运算符是什么?
z = -6.1 -6.55i;
a = 7.0000 - 7.0000i;
h = [-0.1340 - 1.0315i, -0.2770 - 1.0810i, 0.7774 - 0.5708i];
temp = 0.0;
temp = (z*(z-h*a)).^2;
对于向量值输入h
,该方程将产生一个向量,无论涉及的数字是实数、复数、八元数还是其他(前提是您进行逐元素平方,.^2
)。
Troy 是对的 - 你需要平方和:
z = -6.1 - 6.55i;
a = 7.0000 - 7.0000i;
h = [-0.1340 - 1.0315i, -0.2770 - 1.0810i, 0.7774 - 0.5708i];
temp = z * (z - h*a);
temp = temp * temp.';
我正在尝试使用复数值数据计算表达式 (z*(z-h*a))^2
。当输入为实值时,此表达式工作正常。我应该得到一个标量。但是,使用复值输入我得到了一个向量。复数乘法的正确运算符是什么?
z = -6.1 -6.55i;
a = 7.0000 - 7.0000i;
h = [-0.1340 - 1.0315i, -0.2770 - 1.0810i, 0.7774 - 0.5708i];
temp = 0.0;
temp = (z*(z-h*a)).^2;
对于向量值输入h
,该方程将产生一个向量,无论涉及的数字是实数、复数、八元数还是其他(前提是您进行逐元素平方,.^2
)。
Troy 是对的 - 你需要平方和:
z = -6.1 - 6.55i;
a = 7.0000 - 7.0000i;
h = [-0.1340 - 1.0315i, -0.2770 - 1.0810i, 0.7774 - 0.5708i];
temp = z * (z - h*a);
temp = temp * temp.';