如何利用jupyter notebook 画圆形飞轮。其中最关键的就是e^ik=cos(k)+isin(k)。可以用python很容易就能写出来
e^ik=cos(k)+isin(k),该式子可以将等号左右两边用泰勒公式展开,就会发现左右相等,可以实际操作算算。
这个“i”,一定要注意,cos(k)+isin(k)是个复数a+bi ,即 i^2 = -1。
实现代码如下:
import matplotlib.pyplot as plt
import numpy as np
import math
import ipywidgets
def draw_circle(frequency,time):
srate=10000
time=np.linspace(0,time,srate) #返回一个0到time的闭区间里srtate个值然后构成列表
p=np.exp(-1j*2*math.pi*frequency*time) #e^ik # -1是顺指针,1是逆时针
plt.plot(np.real(p),np.imag(p),linestyle='solid')
plt.axis('square')
plt.grid()
plt.show()
Frequency = ipywidgets.FloatSlider(min=0.1, max=2, step=0.01, value=0.5, description='f(hz)',continuous_update=False)
Time = ipywidgets.FloatSlider(min=0, max=10, step=0.1, value=0, description='time(秒)',continuous_update=False)
# 通过滑条来调节画圆的频率和总时间
ipywidgets.interact(draw_circle, time=Time,frequency=Frequency)
#将滑动条上的传递的数据传给函数draw_cricle的局部变量里