使用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
。
答案 0 :(得分:0)
此方法可能并非在每种情况下都有效,但它在这里适用。
df1 <- data.frame(id = c("PSA20001_USDa1_d0001",
"PSA20001_USDa2_d0002", "PSA20001_USDa3_d0003"), stringsAsFactors = FALSE)
假定所有变量都是实数,并相应地扩展表达式。因此
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
。