Неподдерживаемые типы операндов для *: 'float' и '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]))

Из-за любви к жизни я не могу понять, почему я получаю сообщение: "неподдерживаемые типы операндов для *: 'float' и 'builtin_function_or_method'". Я посмотрел почти все предложения на этом сайте. Пожалуйста помоги!

1 ответ

Решение

math.cos это функция, в частности это builtin_function_or_method - который объясняет сообщение об ошибке.

Это означает, что вы должны вызвать его с аргументом, чтобы получить число, как вы это делали с math.exp а также math.sqrt,

Другие вопросы по тегам