如何制作李沙育曲线的动画

时间:2019-04-15 09:23:45

标签: python matplotlib animation

我想用参数化制作一个曲线动画(在其中递增绘制):x(t)= sin(3t)和y(y)= sin(4t),其中t [0,2pi]。

尝试:

%matplotlib notebook

import matplotlib.pyplot as plt
import math
import numpy as np

# set the minimum potential
rm = math.pow(2, 1 / 6)
t = np.linspace(-10, 10, 1000, endpoint = False)
x = []
y = []

for i in len(t): #TypeError 'int' object is not iterable
    x_i = np.sin( 3 * t[i] )
    y_i = np.sin( 4 * t[i] )
    x.append(x_i)
    y.append(y_i)

# plot the graph
plt.plot(x,y)

# set the title
plt.title('Plot sin(4t) Vs sin(3t)')

# set the labels of the graph
plt.xlabel('sin(3t)')
plt.ylabel('sin(4t)')

# display the graph
plt.show()

但是TypeError'int'对象不是可迭代的...我该如何解决?

谢谢

1 个答案:

答案 0 :(得分:1)

您要遍历整数(i in len(t)

相反,您需要遍历数组:

for i in t:
    x_i = np.sin( 3 * i )
    y_i = np.sin( 4 * i )
    x.append(x_i)
    y.append(y_i)

enter image description here