我试图弄清楚如何在 Ocaml 中实现定点迭代。也就是说,给定一个函数f和一个x,我想计算最终的值是什么f(f(f(x)...))。
例如,如果我的函数是x/2和我的x=50,我的答案应该是 0。
到目前为止,我有
let rec computed_fixed_point eq f x =
if (x == f x) then
x
else
computed_fixed_point eq f (f x)
这适用于函数x/2和x=50(给我 0),但对于无穷大或非 0 的函数,它似乎不起作用。
另一个可以给我一些建议吗?谢谢!