* 不支持的操作数类型:'float' 和 'builtin_function_or_method'

unsupported operand type(s) for *: 'float' and 'builtin_function_or_method'

import numpy as np
import math

y = 0.
m = 9.
A = 0.3
k = 4.
gamma = 0.15
t = 0

n = 101

t_array = np.zeros(n)
y_array = np.zeros(n)
dt = 25/n
for i in range(n):
    t_array[i] = 0 + dt * i
    y_array[i] = A * math.exp(-gamma * t) * math.cos * (math.sqrt(k/m) * t)
    print("%5.2f %5.2f" % (y_array[i], t_array[i]))

我无法理解为什么我会收到消息:"unsupported operand type(s) for *: 'float' and 'builtin_function_or_method'"。我已经查看了该网站上几乎所有的建议。请帮忙!

math.cos 是一个函数,特别是它是一个 builtin_function_or_method - 它解释了错误消息。

这意味着您必须使用参数调用它才能获得数字,就像您对 math.expmath.sqrt 所做的那样。