欧拉公式
欧拉公式(Euler's Formula)
在1.1中给出了指数函数的多项式形式:
接下来我们不仅暂时不去解释上式是如何来的,而是更丧心病狂地丢给读者两个有关三角函数的类似式子:
在中学数学中,我们都接触过虚数(Imaginary Number)的概念,这里我们对其来源和意义暂不讨论,只是简单回顾一下其基本的运算规则:
将带入指数函数的公式中,我们获得:
此时,我们便获得了著名的欧拉公式:
特别地,令时:
欧拉公式在三角函数、圆周率、虚数以及自然指数之间建立的桥梁,在很多领域都扮演着重要的角色。
如果你对欧拉公式的正确性感到疑惑,不妨在Python中验证一下:
x = np.linspace(-np.pi,np.pi)
# Numpy中虚数用j表示
lhs = e**(1j*x)
rhs = cos(x)+1j*sin(x)
print sum(lhs==rhs)==len(x)
# result: True
# 我们也可以用sympy来展开e^x,得特别注意的是sympy中虚数为I,欧拉常数为E
z = sympy.Symbol('z', real = True)
sympy.expand(sympy.E**(sympy.I*z), complex = True)
# result: I*sin(z) + cos(z)
将函数写成多项式形式有很多的好处,多项式的微分和积分都比较容易。现在你知道了的多项式形式,不妨用其去验证一下中学书本中强行填塞给你这几个公式:
喔,对了,这一章怎能没有图呢?收尾前来一发吧:
for p in e**(1j*x):
plt.polar([0, angle(p)],[0, abs(p)], marker = 'o')
想要理解这张图的几何意义的话,就请继续学习吧少年!