通过标量

时间:2016-11-03 10:51:00

标签: python list numpy

我必须为动画准备数据,然后遇到了问题

t = numpy.linspace(0, 1/10, 1/10000)
x = [1, 3, 5, 7, 9]
S = [ 0.09642699 -1.75110819 -0.00915477 -0.42833324 -0.01772692 -0.00885592
 -0.01136874  0.4106214   0.09199903  1.73339635]
realResponse = [x * numpy.cos(311.64*t) for x in numpy.dot(eigenvector, modalconstant)]
#realResponse = numpy.delete(realResponse, my_list, axis=0)

现在这个realResponse列表是......好吧......没什么

    print(realResponse)# prints: [array([], dtype=float64), 
                                  array([], dtype=float64), array([], dtype=float64),....

我不知道这似乎是什么问题。我仔细地跟着this topic.

无论如何我也试过

realResponse = list()
for i in range(0, 10):
    realResponse[i] = S[i] * numpy.cos(eigenvalue[311.64*t)

并且结果是一个错误:

  

IndexError:列表分配索引超出范围

1 个答案:

答案 0 :(得分:3)

numpy.linspace(0, 1/10., 1/10000.)

返回一个空数组。如果你想要1/10之间的数组,每1/10000点数,请尝试:

numpy.arange(0, 1/10., 1/10000.)