【发布时间】:2017-08-18 14:20:49
【问题描述】:
我有一个函数总是会收敛到一个固定点,例如f(x)= (x-a)/2+a。我有一个函数可以通过重复调用该函数来找到这个固定点:
def find_fix_point(f,x):
while f(x)>0.1:
x = f(x)
return x
效果很好,现在我想为矢量版本执行此操作;
def find_fix_point(f,x):
while (f(x)>0.1).any():
x = f(x)
return x
但是,如果大多数实例只需要大约 10 次迭代而一个需要 1000 次迭代,那么这是非常低效的。有什么快速的方法可以删除已经找到的 `x?
代码可以使用numpy或scipy。
【问题讨论】:
-
你能提供一个
f的例子吗? -
第一句有f的例子。
f(x) = (x-a)/2+a将具有固定点a -
我们无法重现,因为您不提供
a。 -
@JonasAdler 随意选择
a。例如。a=0 -
那么没有问题,因为它们都收敛相同?
标签: python numpy scipy vectorization