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 の新機能
© 2008 Wolfram Research, Inc. japanese.gif
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team