我希望能像下面的示例代码一样访问数组,但是这样做速度很慢。是否可以从i和f_s创建一个向量,并通过该索引访问数组?
def calc(self, length):
for i in range(int(f_s*length*6)):
t = i / f_s
self.data[i] = (numpy.multiply(sinTable512[int(t*f_carrier)%512], self.Signal[int(t*f_prn)%1023]))
我想代码应该长这样:
我想象中的代码如下:
def calc(self,length):
t = numpy.arange(0, f_s*length*6, 1/f_s)
t_sin = t * f_carrier %512
t_sig = t * f_prn % 1023
self.data[i] = (numpy.multiply(sinTable512[t_sin], self.Signal[t_sig]))
有没有其他方法可以做类似的事情?我记得向量操作比循环要快得多,至少在MatLab中是这样的,Python也是这样吗?还是有其他方法可以加速这个操作?