【问题标题】:Need help graphing the x axis of a sinusoid需要帮助绘制正弦曲线的 x 轴
【发布时间】:2019-10-02 07:23:15
【问题描述】:

'我试图绘制一个简单的正弦波,我知道怎么做,我只是不断得到错误的 x 轴值。该信号的频率为 1000 Hz,所以我应该看到每秒 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 的情况下,如何正确显示每秒的正确周期数?

【问题讨论】:

    标签: python numpy matplotlib signal-processing


    【解决方案1】:

    我认为问题只是时间轴的缩放。 t = np.linspace (0,100,100) 为您提供了一个 0-100 范围内的 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 s == 1 kHz 内有 10 个周期。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-16
      • 2020-02-27
      • 1970-01-01
      • 2014-02-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多