Python 在循环中使用正弦采样进行每窗体计算

Python 在循环中使用正弦采样进行每窗体计算,python,Python,我试图生成一个正弦波并对其进行采样,然后获取每个样本,并使用样本值执行计算,将计算值保存在一个数组中,最后根据正弦波绘制输出数组。然而,我无法做到这一点下面是我的代码 def sampled_sine_wave(freq): samples = 1000 time_period = 1 time = linspace(0,time_period,samples) _ = plot(time,[sin(t*freq*2*np.pi) for t in time])

我试图生成一个正弦波并对其进行采样,然后获取每个样本,并使用样本值执行计算,将计算值保存在一个数组中,最后根据正弦波绘制输出数组。然而,我无法做到这一点下面是我的代码

def sampled_sine_wave(freq):
    samples = 1000
    time_period = 1
    time = linspace(0,time_period,samples)
    _ = plot(time,[sin(t*freq*2*np.pi) for t in time])

Vin=sampled_sine_wave

if Vin > 0:
    Vpos=Vin
    dw = (1 - numpy.exp(-(1-w)/1))*lamda*((eta1)* numpy.sinh(eta2*Vpos) - (w/tau)) * dt

elif Vin < 0:
    Vneg=Vin
    dw = (1- numpy.exp(-w/0.3))*lamda*((eta1) * numpy.sinh(eta2*Vneg) -   (w/tau)) * dt

current=((1-dw) * alpha *  (1 - numpy.exp(-beta * Vin)) + (dw * gamma *  numpy.sinh(delta * Vin)))
def采样正弦波(频率):
样本=1000
时间周期=1
时间=linspace(0,时间段,样本)
_=绘图(时间,[sin(t*freq*2*np.pi)表示时间为t])
Vin=采样的正弦波
如果Vin>0:
Vpos=Vin
dw=(1-numpy.exp(-1-w)/1))*lamda*((eta1)*numpy.sinh(eta2*Vpos)-(w/tau))*dt
elif Vin<0:
Vneg=Vin
dw=(1-numpy.exp(-w/0.3))*lamda*((eta1)*numpy.sinh(eta2*Vneg)-(w/tau))*dt
电流=((1-dw)*alpha*(1-numpy.exp(-beta*Vin))+(dw*gamma*numpy.sinh(delta*Vin)))
因此,回到我的解释,我试图用0.001s时间步长“dt”对Vin进行采样,在这个特定的时间步长,我将比较大于或小于零的Vin值来计算“dw”,然后使用这个“dw”来计算“current”,并将计算出的电流保存在阵列中,以便根据Vin对应的点/样本绘制


那么,有人能帮我吗。提前感谢

您应该先在页面顶部导入numpy,如下所示:

from numpy import *
如果你没有numpy模块,你可以下载它