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