(Python)TypeError:只能将整数标量数组转换为标量索引

时间:2019-01-11 15:18:30

标签: arrays python-3.x list physics

当我编译以下程序时,Python会引发TypeError:只能将整数标量数组转换为标量索引。

这似乎是一个相对简单的程序执行,但是我似乎无法解决它。

频率

import matplotlib.pyplot as plt
import numpy as np

def period(n):
    #masses
    m = [1] * n
    #lengths
    l = [2] * n
    M = sum(m)
    num = 2 * math.pi * n

for i in range(n):
    dem = dem + math.sqrt(g * m[i]/(l[i] * M)) 
return num/dem   

x = np.arange(1, 10,1)
y = period(x)
plt.plot(x,y)
plt.show()

M == sum from j==1 to n of the masses m_j。我希望程序仅显示period的图,其中period(n)仅由1的{​​{1}}到n的总和来定义。

1 个答案:

答案 0 :(得分:1)

使用列表推导将period函数应用于x数组中的每个条目,如下所示-

y = np.array([period(i) for i in x])

此外,您需要同时初始化demg-

dem = 0.0
g = 9.8