在Python中产生三角波的问题

时间:2018-12-02 14:43:45

标签: python plot

我想绘制一个三角波,其振幅单位为伏特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")

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

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

我想要的输出

output I watnt

2 个答案:

答案 0 :(得分:0)

实际上我已经找到了答案,这与linspace的第3个参数有关。我将其设置为300或400,并将其修复。感谢所有人

答案 1 :(得分:-1)

下面的代码片段可以做到:

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

有关更多帮助,请执行以下操作:

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