对于另一个项目的一部分,我只需要制作一个频率为f的简单正弦波。
更改“样本”会给pylab图带来一些奇怪的效果,我只是不知道为什么!
使用samples = 500给出频率= 1/50 Hz的图。
使用samples = 1000给出频率= 1/100 Hz的图。
然后使用较大的样本(如5000和10000),绘制的波沿t轴以模式改变幅度。
import numpy as N
f = 10.
w = 2. * N.pi * f
time_interval = 100
samples = 5000
t = N.linspace(0, time_interval, samples)
y = N.sin(w * t)
pylab.plot(t, y)
pylab.show()
这里的任何帮助都会很棒!我只是想要一个基本的正弦波,但似乎无法做到这一点!
答案 0 :(得分:4)
我认为你对samples
有一点误解。它只给出了时间的分辨率。尝试使用time_interval= 1
绘图并改变samples
(从小值开始,如10,然后逐渐增加)。你会看到。
答案 1 :(得分:1)
为明确提出吃饭的答案,我将time_interval
设置为1,并将samples
设置为import pylab
import numpy as N
f = 10.
w = 2. * N.pi * f
time_interval = 1
fig = pylab.figure()
for i, samples in enumerate((5, 50, 500, 5000)):
pylab.subplot(2, 2, i+1)
pylab.title('%i samples'%samples)
t = N.linspace(0, time_interval, samples)
y = N.sin(w * t)
pylab.plot(t, y, '.-')
fig.show()
,如他所说:
time_interval
50个样本显然不足以time_interval
为1;这就是5000为{{1}}为100的样本不足的原因。
答案 2 :(得分:1)
导入pylab
X = pylab.arange(0,150,0.2)
Y = pylab.sin(X);
pylab.plot(X,Y)
pylab.show()
答案 3 :(得分:0)
根据给定的参数:频率,F = 10 Hz,时间段,T = 100 s和T = 100 s的样本数,N = 5000。
这意味着,循环数= F * T = 10 * 100 =1000。让我们选择T = 10 / F,以可视化10个循环。这意味着我们将在1秒内从10 Hz正弦波获得10个周期。这也意味着我们在10个周期中将有5000个样本,或者每个周期500个样本,这对于信号复制来说是相当大的。
hot,high,false,yes
cool,normal,true,yes