将递归函数或可变长度循环应用于numpy数组的元素

时间:2019-03-22 00:57:51

标签: python arrays numpy

我具有以下形式的功能:

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重写内容?

0 个答案:

没有答案