【发布时间】:2020-09-15 00:37:47
【问题描述】:
我有一个形式为:
?????????^(??????????2)+????????^(????????3)+???????? ^(?????????4)+????????^(????????1)=0
在 sympy 中,我想使用欧拉恒等式将其拆分为两个方程,一个是实数,一个是虚数。
??????cos(????2)+??????cos(????3)+??????cos(????4)+????cos(?? ??1)=0
??????????罪(????2)+??????????罪(????3)+????????罪(????4) +????????sin(????1)=0
到目前为止我已经尝试过:
a, b, c, d = symbols("a b c d")
theta1, theta2, theta3, theta4 = symbols("theta1 theta2 theta3 theta4")
eq1 = Eq(a*exp(I*theta2) + b*exp(I*theta3) + c*exp(I*theta4) +d*exp(I*theta1), 0)
eq1 = eq1.subs([(a,40), (b,120), (c,80), (d,100), (theta1,0), (theta2, 40 * (pi.evalf()/180))])
lhs_real, lhs_img = eq1.lhs.as_real_imag()
rhs_real, rhs_img = eq1.rhs.as_real_imag()
eq2 = Eq(lhs_real, rhs_real)
eq3 = Eq(lhs_img, rhs_img)
但是我的 eq2 似乎包含实数和虚数。
−120cos(re(????3))sinh(im(????3))+120cos(re(? ???3))cosh(im(????3))−80cos(re(????4))sinh(im(????4))+80cos(re(????4))cosh(im(????4))+130.641777724759 =0
如何使用 Sympy 实现这一目标?
我看过这个问题complex numbers in sympy: resolving Euler's Identity,但 sympy.re 和 sympy.im 不适用于 Sympy 方程。
【问题讨论】:
-
我没有看到任何虚构的术语(请注意,
im(x)是真实的)。大概你想用real=True创建符号,这样im(x) = 0。
标签: python-3.x sympy