製品
製品の一覧
Mathematica
Mathematica
学生エディション
Mathematica
ホームエディション
Wolfram
CDF Player
(無料ダウンロード)
CDF(計算可能ドキュメント形式)
web
Mathematica
grid
Mathematica
Wolfram
Workbench
Wolfram
SystemModeler
Wolfram
Finance Platform
Mathematica
アドオン
Wolfram|Alpha関連製品
ソリューション
ソリューションの一覧
工学
航空宇宙工学と防衛
化学工学
制御系
電気工学
画像処理
生産工学
材料科学
機械工学
オペレーションズリサーチ
光学
石油工学
バイオテクノロジーと医学
バイオインフォマティクス
医用画像処理
金融,統計,ビジネスの分析
保険数理
データの解析とマイニング
計量経済学
経済学
金融工学と数学
財務リスク管理
統計
ソフトウェア工学とコンテンツ配信
オーサリングと出版
インターフェース開発
ソフトウェア工学
Web開発
科学
天文学
バイオサイエンス
化学
環境科学
地球科学
社会・行動科学
デザイン,芸術,娯楽
ゲームデザイン・特殊効果・ジェネレーティブアート
教育
高等教育
短大・専門学校
初等・中等教育
学生
テクノロジー
CDF(計算可能ドキュメント形式)
高性能並列計算(HPC)
参照:テクノロジーガイド
ご購入
オンラインストア
他の購入方法
Volumeライセンスとサイトライセンス
販売部へのご連絡
ソフトウェア
サービス
アップグレード
トレーニング
書籍
Wolframグッズ
サポート
テクニカルサポートページ
Mathematica
ドキュメント
知識ベース
ラーニングセンター
テクニカルサービス
コミュニティ & フォーラム
トレーニング
サイトライセンスの確認
Wolframユーザポータル
会社概要
会社概要
ニュースとイベント
Wolframブログ
パートナーシップ
採用情報
Mathematica
の歴史
Stephen Wolframのホームページ
連絡先
Wolfram Webサイト
サイトの一覧
Wolfram|Alpha
デモンストレーションプロジェクト
MathWorld
Integrator
Wolfram Functions Site
Mathematica Journal
Wolfram Media
Wolfram
Tones
Wolfram Science
Stephen Wolfram
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE
DOCUMENTATION CENTER
FOR THE LATEST INFORMATION.
DOCUMENTATION CENTER SEARCH
New to
Mathematica
?
Find your learning path
»
Mathematica
>
コアとなる言語
>
関数型プログラミング
>
関数反復
>
NestWhile
>
Mathematica
>
コアとなる言語
>
手続き型プログラミング
>
ループ構文
>
関数反復
>
NestWhile
>
MATHEMATICA 組込みシンボル
関数を反復的に適用する
チュートリアル »
|
NestWhileList
FixedPoint
Nest
While
TakeWhile
Scan
関連項目 »
|
条件文
関数反復
関数型プログラミング
ループ構文
その他 »
NestWhile
NestWhile
expr
で開始し,その結果に
test
を適用しても
True
でなくなるまで
を反復適用する.
NestWhile
各ステップで最新の
個の結果を
の引数として与える.
NestWhile
[
f
,
expr
,
test
,
All
]
各ステップでそれまでのすべての結果を
test
の引数として与える.
NestWhile
f
を最大
回適用する.
NestWhile
f
を
n
回余分に適用する.
NestWhile
f
が
個だけ少なく適用されたときの結果を返す.
詳細
NestWhile
は,
test
を適用しても
True
とならないような最初の式
を返す.
が
True
でなくなると,
NestWhile
は
expr
を返す.
»
NestWhile
は,各ステップで
を評価する.結果の
はリストには置かない.
»
は,最新のものが最後になるように,生成された順序で与えられる.
NestWhile
は,少なくとも
m
個の結果が生成されるまで
の適用は開始しない.
NestWhile
は,少なくとも
個の結果が生成されるまで
test
の適用は開始しない.各ステップで最大
m
個の最新の結果を引数として
に供給する.
»
NestWhile
は,
NestWhile
に等価である.
»
NestWhile
[
f
,
expr
,
UnsameQ
, 2]
は,
FixedPoint
に等価である.
»
NestWhile
[
f
,
expr
,
test
,
All
]
は,
NestWhile
[
f
,
expr
,
test
, {1,
Infinity
}]
に等価である.
»
NestWhile
[
f
,
expr
,
UnsameQ
,
All
]
は,同じ結果が2度目に現れるまで
f
を適用し続ける.
NestWhile
は,
test
が失敗するかまたは
回の適用を施した後,
f
を余分に
回適用する.
»
NestWhile
は,
Part
[
NestWhileList
[
f
,
expr
,
test
,
m
,
max
], -
n
-1]
に等価である.
»
NestWhile
[
f
,
expr
,
test
,
m
,
Infinity
, -1]
は,可能なら
test
が
True
となるような列,
expr
,
,
, ... の最後の式を返す.
例題
すべて閉じる
例
(2)
結果が偶数でなくなるまで2で分割し続ける:
結果が正ではなくなるまで対数を取って反復させる:
結果が偶数でなくなるまで2で分割し続ける:
In[1]:=
Out[1]=
結果が正ではなくなるまで対数を取って反復させる:
In[1]:=
Out[1]=
スコープ
(5)
生成された最後の2つの値を比較する:
常に生成されたすべての値を比較する:
4回反復した後に比較を始め,最後の4つの値を使って比べる:
4回反復した後に比べ始め,最後の6つの値を使って比べる:
たとえテストがまだ
True
であっても,最高で4回反復した後で停止する:
一般化と拡張
(2)
結果が1より大きくなくなるまで続ける:
条件が
True
ではなくなってからもう1ステップ行う:
条件が
True
である最後の値を返す:
アプリケーション
(3)
888以降で最初の素数を求める:
888以降の最初の双子素数を求める:
100万以降の最初のフィボナッチ数の指数を求める:
100万より小さい最後のフィボナッチ数の指数を求める:
特性と関係
(5)
次の2つの形式は等しい:
NestWhile
は,条件が
True
以外のものを返した場合に戻る:
条件の結果は
True
または
False
ではなくてもよい:
FixedPoint
は,常に最後の2つの値を比べる.次の2つの形式は等しい:
NestWhileList
は同じ停止基準を適用するが,生成されたすべての値を返す:
NestWhile
は
While
ループを使って表すことができる:
関連項目
NestWhileList
FixedPoint
Nest
While
TakeWhile
Scan
チュートリアル
関数を反復的に適用する
その他
条件文
関数反復
関数型プログラミング
ループ構文
関連リンク
NKS|Online
(
A New Kind of Science
)
バージョン 4 の新機能