需要帮助绘制正弦曲线的 x 轴
Need help graphing the x axis of a sinusoid
'我正在尝试绘制一个简单的正弦波图,我知道怎么做,但我总是得到错误的 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 Hz,我如何才能正确显示正确的每秒循环数?
我认为问题只是时间轴的比例问题。 t = np.linspace (0,100,100)
为您提供一个 100 元素的数组,范围从 0-100(参见 the doc),因此这不是绘制 1 kHz 数据的理想分辨率。如果您为时间选择另一个范围和分辨率,它会工作正常:
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()
给我
...这是 0.01 秒内的 10 个周期 == 1 kHz。
'我正在尝试绘制一个简单的正弦波图,我知道怎么做,但我总是得到错误的 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 Hz,我如何才能正确显示正确的每秒循环数?
我认为问题只是时间轴的比例问题。 t = np.linspace (0,100,100)
为您提供一个 100 元素的数组,范围从 0-100(参见 the doc),因此这不是绘制 1 kHz 数据的理想分辨率。如果您为时间选择另一个范围和分辨率,它会工作正常:
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()
给我