Python 将列表中的每个元素乘以一个标量
我必须为动画准备数据,我遇到了一个问题Python 将列表中的每个元素乘以一个标量,python,list,numpy,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
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),....
我不知道是什么问题。我仔细地跟着
反正我也试过了
realResponse = list()
for i in range(0, 10):
realResponse[i] = S[i] * numpy.cos(eigenvalue[311.64*t)
结果是一个错误:
索引器:列表分配索引超出范围
numpy.linspace(0,1/10,1/10000)。
返回一个空数组。如果您想要1/10之间的阵列,且每1/10000个点一个,请尝试:
numpy.arange(0,1/10,1/10000.)
numpy.linspace(0,1/10,1/10000.)
返回一个空数组。如果您想要1/10之间的阵列,且每1/10000个点一个,请尝试:
numpy.arange(0,1/10,1/10000)。
错误是什么?而且,t
不是一个值@Aidin:索引器错误:列表分配索引超出范围,选择“是”t
应该是一个变量(时间)。我仍然需要弄清楚如何正确地准备数据,这是我第一次用python制作动画。我对python不是很了解,但你不需要像在循环中一样为每个t
值都这样做,而不仅仅是插入t
?我的意思是,现在你有两个变量在变化,x
和t
你希望realResponse
是一个矩阵吗?错误是什么?而且,t
不是一个值@Aidin:索引器错误:列表分配索引超出范围,选择“是”t
应该是一个变量(时间)。我仍然需要弄清楚如何正确地准备数据,这是我第一次用python制作动画。我对python不是很了解,但你不需要像在循环中一样为每个t
值都这样做,而不仅仅是插入t
?我的意思是,现在你有两个变量在变化,x
和t
你希望realResponse
是一个矩阵吗?