Нужна помощь в построении графика оси X синусоиды - PullRequest
0 голосов
/ 02 октября 2019

'Я пытаюсь построить график простой синусоидальной волны, и я знаю, как, я просто продолжаю получать неправильные значения оси X. Частота сигнала составляет 1000 Гц, поэтому я должен видеть 1000 циклов в секунду, но это не так, и я не уверен, как заставить его работать. Вот что у меня есть:

import numpy as np
import matplotlib.pyplot as plt

f = 1000
A = 5
t = np.linspace (0,100,100)
w = 2 * np.pi * f

signal = A * np.sin (w*t)

plt.figure ()
plt.plot (t,signal)
plt.show()

Оно не показывает правильное количество циклов, учитывая, что ось x находится в секундах. Как правильно отобразить правильное количество циклов в секунду при 1000 Гц?

1 Ответ

0 голосов
/ 02 октября 2019

Я думаю, что проблема заключается только в масштабировании вашей временной оси. t = np.linspace (0,100,100) дает массив из 100 элементов в диапазоне от 0 до 100 (см. документ ), так что это не идеальное разрешение для отображения данных с частотой 1 кГц. Он отлично работает, если вы выбрали другой диапазон и разрешение для времени:

import numpy as np
import matplotlib.pyplot as plt

f = 1000
A = 5
t = np.linspace(0, 0.01, num=1000) # unit of t is seconds
w = 2 * np.pi * f
signal = A * np.sin(w*t)

plt.plot(t, signal)
plt.xlabel('time[s]')
plt.ylabel('amplitude')
plt.show()

дает мне sine_plot ... это 10 циклов за 0,01 с == 1 кГц.

...