【发布时间】:2017-09-30 13:24:10
【问题描述】:
我两周前开始编程,所以我意识到这可能是一个愚蠢的问题。
我想在区间 [0,25] 中找到 t 值的 y 值,而不使用 for 循环。我想要一个 y 值的列表,但我得到的是 <function y at 0x01D4D5D0>:
from math import cos, e, sqrt
import numpy as np
m = 9
A = 0.3
k = 4
gamma = 0.15
t_array = np.linspace(0,25)
y_array = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
def y(t_array):
y = []
y.append(A*(e**(-gamma)**(t_array))*cos((sqrt(k/m))*(t_array)))
print(y)
【问题讨论】:
-
y确实是函数,来自def y(...):。您需要调用您的函数,并且该函数需要返回结果列表。 -
你的意思是
print(y(t_array))? -
当你定义一个 Python 函数时,你给它函数的名字和一个变量的名字。但是您实际上并没有传递值。例如。你可能有一个函数
f(x) = x^2,但你实际上并没有得到值,除非你把它们放入函数中,比如f(2)。 -
看
print(y)。y是一个函数,您在不调用它的情况下打印它。要调用它,您需要添加括号(在这种情况下,传递一个参数),例如print(y(t_array))。 -
如果您的问题得到解答,请accept the one that helped the most。
标签: python arrays function numpy