Как сделать анимацию кривой Лиссажу - PullRequest
0 голосов
/ 15 апреля 2019

Я хочу сделать анимацию кривой (где вы рисуете ее постепенно) с параметризацией: 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()

Но объект intError 'int' не повторяется ... Как это исправить?

Спасибо

1 Ответ

1 голос
/ 15 апреля 2019

Вы пытаетесь перебрать целое число (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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...