Выборка функции в python - PullRequest
0 голосов
/ 08 января 2020

просто ради интереса я пытался сделать 100 выборок этой функции: S1t = 3sin (ωt + ? / 3), зная, что f равно 10 Гц, T равно 1 / f, ω = 2? / T. Итак, я никогда не делал такого рода вещи, но я написал некоторый код:

import time
import math


f = 1000000
T = 1/f
omega = 360/T
i = []

for t in range(100):

    S1t = 3*math.sin((omega*t)+60)
    i = [S1t]
    print(i[t])

Когда я запускаю этот код, я получаю эту ошибку:

Traceback (последний вызов последний ): Файл "/home/pi/Desktop/wave_analyzer.py", строка 25, в печатном виде (i [t]) IndexError: список индексов вне диапазона

Кроме этого, я думаю, что есть что-то неправильно в логике c этого кода, так что я угадал, как вы это сделаете. Спасибо за внимание

1 Ответ

1 голос
/ 08 января 2020

Если вы хотите append S1t для вашего списка, используйте:

import time
import math


f = 1000000
T = 1/f
omega = 6.28/T
i = []

for t in range(100):

    S1t = 3*math.sin((omega*t)+60)
    i.append(S1t)
    print(i[t])

В вашей версии i всегда воссоздавался как единый список элементов.

Если вы хотите построить его, используйте:

import math
import matplotlib.pyplot as plt

f = 1000000
T = 1/f
omega = 6.28/T
i = [3*math.sin((omega*t)+60) for t in range(100)]    

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