将复指数重写为三角函数

问题描述 投票:0回答:1

我想将复指数重写为三角函数,如下图所示:

我对 e^(2 pi I / 8) 的尝试不起作用,因为它立即将其转换为平方根:

from sympy import E, pi, I, re

root = E**(2 * pi * I / 8)
print(root)
print(root.rewrite(cos))
print(re(root).rewrite(cos))

从这些打印语句中我得到:

exp(I*pi/4)

sqrt(2)/2 + sqrt(2)*I/2

sqrt(2)/2

我想得到实部的 cos(2 pi/8) 和虚部的 sin(2 pi/8) 。但正如您所看到的,它直接计算平方根。我怎样才能得到三角表示?

python sympy trigonometry complex-numbers
1个回答
0
投票

这有点 hacky,但您可以为 pi 定义自己的符号,而不是使用 sympy.pi 以避免实际评估余弦和正弦:

from sympy import E, I, symbols, cos
mypi = symbols("pi")
root = E**(2 * mypi * I / 8)
print(root)
print(root.rewrite(cos))

输出:

exp(I*pi/4)
I*sin(pi/4) + cos(pi/4)
© www.soinside.com 2019 - 2024. All rights reserved.