一个简单的问题:
为什么
import numpy as np
f = np.sin(x)
print(f(0.3))
返回错误;而
import numpy as np
print(np.sin(0.3))
没有?
假设,例如我想将f存储为:
f(x) = sin(x) + 2*sin(3.4*x)
我该怎么做?如果这个问题太简单,请道歉 - 也许我应该把它贴在StackExchange上。
答案 0 :(得分:1)
f = np.sin(x)
将np.sin(x)
的返回值(由于x
未定义而无法计算)返回f
。即使定义了x
,f(0.3)
也会失败,因为浮点数不可调用。
你打算做f = np.sin
。
import numpy as np
f = np.sin
print(f(0.3))
# 0.295520206661
答案 1 :(得分:0)
如果我理解您的使用正确,则需要lambda
功能:
f = lambda x: np.sin(x) + np.sin(3.456 * x)
print(f(0.3))
如果您不熟悉lambda
的更多详细信息,请here