【问题标题】:Problem with producing triangle wave in python在python中产生三角波的问题
【发布时间】:2018-12-02 23:53:16
【问题描述】:

我想绘制一个三角波,其振幅以伏特 A=1V 为单位,频率为 1Hz。

我的代码如下:

from scipy import signal
>>> import matplotlib.pyplot as plt
>>> t = np.linspace(0, 4, 100)
>>> plt.plot(t,1* signal.sawtooth(2 * np.pi * 1 * t,0.5))
plt.xlabel("Time[s]")
plt.ylabel("Amplitude[V]")
plt.title("Singal for sampling")

但我得到的输出是这样的:

为什么不是像这样的完美三角波? (我需要更改代码中的某些内容吗?

我想要的输出

【问题讨论】:

    标签: python plot


    【解决方案1】:

    其实我已经找到答案了,和linspace的第三个参数有关。我把它设为 300 或 400 并修复它。谢谢大家

    【讨论】:

      【解决方案2】:

      下面的sn-p做到了:

      t = np.linspace(0, 4, 100)
      plt.plot(t, signal.sawtooth(2 * np.pi * t, 0.5))
      

      如需更多帮助,请执行以下操作:

      >> from scipy import signal
      >> help(signal.sawtooth)
      

      【讨论】:

      • 除了去掉两个多余的乘以 1,这段代码和 OP 显示的有什么不同?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-13
      • 2015-08-10
      • 2021-01-01
      • 2020-04-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多