我具有以下形式的功能:
def f(x):
n = 0
while x > basecase:
x = g(x)
n += 1
return n
基本上,它在g()
上应用函数x
直到满足条件,然后返回它花费了多少个应用程序n
。
我希望能够在numpy数组上调用此函数,因此我可以使用MatPlotLib为大范围f(x)
绘制x
的图形。但是由于函数现在不起作用了,x
(数组)和basecase
(标量)之间的比较是一个问题,因为n是单个整数而不是数组。
我知道我可以打电话给vectorize
,但这很慢-基本上与手动迭代相同。我在这里可以做什么?是否有任何函数编程的numpy函数可以将我保存在这里,或者如果我想避免nditer
的开销,我是否必须用vectorize
重写内容?