Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica > コアとなる言語 > 関数型プログラミング > 関数反復 >
Mathematica > コアとなる言語 > 手続き型プログラミング > ループ構文 > 関数反復 >

NestWhile

NestWhile[f, expr, test]
expr で開始し,その結果に test を適用してもTrueでなくなるまで f を反復適用する.
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]
fn 回余分に適用する.
NestWhile[f, expr, test, m, max, -n]
fn 個だけ少なく適用されたときの結果を返す.
  • 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 は,最新のものが最後になるように,生成された順序で与えられる.
  • NestWhile[f, expr, test, m]は,少なくとも m 個の結果が生成されるまで test の適用は開始しない.
  • NestWhile[f, expr, test, {mmin, m}]は,少なくともmmin 個の結果が生成されるまで test の適用は開始しない.各ステップで最大 m 個の最新の結果を引数として test に供給する. »
  • NestWhile[f, expr, UnsameQ, All]は,同じ結果が2度目に現れるまで f を適用し続ける.
  • NestWhile[f, expr, test, m, max, n]は,test が失敗するかまたはmax 回の適用を施した後,f を余分に n 回適用する. »
  • NestWhile[f, expr, test, m, Infinity, -1]は,可能なら testTrueとなるような列,exprf[expr]f[f[expr]]... の最後の式を返す.
結果が偶数でなくなるまで2で分割し続ける:
In[1]:=
Click for copyable input
Out[1]=
 
結果が正ではなくなるまで対数を取って反復させる:
In[1]:=
Click for copyable input
Out[1]=
バージョン 4 の新機能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team