NestWhile
NestWhile[f,expr,test,m]
将最近的 m 个结果作为每一步 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]…]].
- 如果 test[expr] 不为 True, NestWhile[f,expr,test] 返回 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] 等价于 NestWhile[f,expr,test,{m,m}]. »
- NestWhile[f,expr,UnsameQ,2] 等价于 FixedPoint[f,expr]. »
- NestWhile[f,expr,test,All] 等价于 NestWhile[f,expr,test,{1,Infinity}]. »
- NestWhile[f,expr,UnsameQ,All] 不断应用 f 直至相同结果首次出现不止一次.
- NestWhile[f,expr,test,m,max,n] 在 test 失败或 max 个应用程序执行之后将 f 额外使用 n 次. »
- NestWhile[f,expr,test,m,max,-n] 等价于 Part[NestWhileList[f,expr,test,m,max],-n-1]. »
- 如果可能的话,NestWhile[f,expr,test,m,Infinity,-1] 返回序列 expr、f[expr]、f[f[expr]],… 中的最后一个表达式,对这个表达式 test 得到 True.
范例
打开所有单元关闭所有单元范围 (5)
属性和关系 (5)
FixedPoint 通常比较最后两个值;这两个形式是相等的:
NestWhileList 应用相同的停止规则,但返回所有产生的值:
Wolfram Research (1999),NestWhile,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NestWhile.html.
文本
Wolfram Research (1999),NestWhile,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NestWhile.html.
CMS
Wolfram 语言. 1999. "NestWhile." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/NestWhile.html.
APA
Wolfram 语言. (1999). NestWhile. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/NestWhile.html 年