函数的不动点是f(x)=x的点
对于一个特定的函数,我应该从一个随机猜测开始,然后一次又一次地计算f,即:计算f(x),f(f(x)),f(f(f(x)),。。。 直到值在epsilon上没有变化。在
我要编写的函数得到一个输入:一个函数,一个随机猜测,epsilon和n迭代次数。函数应计算不动点的近似值。当两个数之间的差小于epsilon时,或者当n次迭代完成时,它将停止。 输入和输出示例:
>>> fixed_point(lambda x:x**2, 1, n=5)
1 #0 iterations needed, initial guess suffices
>>> fixed_point(lambda x:x**2, 0.5, n=5)
5.421010862427522e-20 #after 5 iterations
>>> fixed_point(lambda x:x**2, 0.5, n=4)
>>> #returns None
>>> fixed_point(lambda x:x**2, 2, n=5)
>>> #returns None, guesses were: 2, 4, 16, 256, 65536, 4294967296
我应该在第一个代码中给出正确的答案?在
^{pr2}$
你差点就赢了!你只是没能“记住”你最后的
guess
,看看:相关问题 更多 >
编程相关推荐