此为 Mathematica 7 文档,内容基于更早版本的 Wolfram 语言
查看最新文档(版本11.2)

NestWhile

NestWhile[f, expr, test]
expr 开始,然后重复应用 f 直到 test 不再得到 True 为止。
NestWhile[f, expr, test, m]
将最近的 m 个结果作为每一步 test 的参数。
NestWhile[f, expr, test, All]
将所有结果作为每一步 test 的参数。 NestWhile[f, expr, test, m, max]
f 应用最多 max 次。
NestWhile[f, expr, test, m, max, n]
f 应用额外的 n 次。
NestWhile[f, expr, test, m, max, -n]
返回在 f 已被使用少于 n 次时所找到的结果.
  • NestWhile[f, expr, test] 返回当 test 不为 True 的第一个表达式 f[f[... f[expr]...]]
  • NestWhile[f, expr, test, m] 在每一步计算 test[res1, res2, ..., resm]。它不将结果 resi 放在一个列表中。  »
  • resi 以它们生成的顺序给出,最近的放在最后。
  • 直到生成至少有 m 个结果时,NestWhile[f, expr, test, m] 才开始应用 test
  • 直到生成至少有 mmin 个结果时,NestWhile[f, expr, test, {mmin, m}] 才开始应用 test。然后它在每一步为test 提供不超过 m 的尽可能多的最近结果作为参数。 »
  • NestWhile[f, expr, test, m, max, n]test 失败或 max 个应用程序执行之后将 f 额外使用 n 次。  »
  • 如果可能的话,NestWhile[f, expr, test, m, Infinity, -1] 返回序列 exprf[expr]f[f[expr]], ... 中的最后一个表达式,对这个表达式 test 得到 True
连续除 2 直到结果不再是个偶数为止:
In[1]:=
Click for copyable input
Out[1]=
 
对数迭代直到结果不再为正:
In[1]:=
Click for copyable input
Out[1]=
4 的新功能