代码之家  ›  专栏  ›  技术社区  ›  Medulla Oblongata

在Mathematica中分离非数值表达式的实部和imag部分

  •  0
  • Medulla Oblongata  · 技术社区  · 7 年前

    使用Mathematica,我想分离非数值表达式的实部和虚部。MWE:

    z = Assuming[ a \[Element] Reals && b \[Element] Reals && c \[Element] Reals && d \[Element] Reals, Expand[(a + b*I)*(c + d*I)]]
    Re[z]
    Im[z]
    

    是否有一个Mathematica函数来分别查找和显示实部和虚部?例如一个函数 GetReals[z] 只会给出输出 a*c-b*d .

    1 回复  |  直到 7 年前
        1
  •  0
  •   Bill    7 年前

    这种方法可能在每种情况下都不起作用,但它在这里起作用。

    ComplexExpand 假设所有变量都是实数,并相应地展开表达式。因此

    ComplexExpand[(a + b*I)*(c + d*I)]
    

    退货 a c - b d + I (b c + a d)

    ComplexExpand[Re[(a + b*I)*(c + d*I)]]
    ComplexExpand[Im[(a + b*I)*(c + d*I)]]
    

    退货 a c - b d 第一次和 b c + a d 第二个。