Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica > 動的インタラクティブ機能 > 動的インタラクティブ機能言語 > Dynamic >

Dynamic

Dynamic[expr]
の動的に更新された現在値を表示するオブジェクトを表す.Dynamic[expr]の表示形式がインタラクティブに変更されたり編集されたりする場合は,割当て に表示形式に対応する新しい値 を与えるように行われる.
Dynamic[expr, None]
インタラクティブな修正や編集はできない.
Dynamic
のインタラクティブな変更や編集の間,を継続的に評価する.
Dynamic
インタラクティブな変更や編集が終了してから も評価する.
Dynamic
インタラクティブな変更や編集が開始してから も評価する.
  • Dynamic[expr]は直接表示される式として現れるだけでなく,例えばグラフィックスプリミティブあるいはスライダーのようなオブジェクトの座標として,またオプション設定としても現れることができる.
  • インタラクティブな操作を通して に値を割り当てる際に使用されるときのDynamic[expr]中の式は,シンボル x,オブジェクト ,部分,あるいはリストであることが多い.
  • 例えばグラフィックスでは,Pointxy の現行値で与えられるために位置が動的に更新される点を表す.点がインタラクティブに移動されるたびに,の形の割当てが行われる.Pointはインラタクティブに移動できる.Dynamic[Point[{x, y}]]はインタラクティブには移動できない.
  • Dynamic[expr]は,値が必要になるといつでも を評価し,それが依存しているシンボルの任意のタイプの値が変更されたかどうかを判断する.
  • RefreshあるいはClockオブジェクトがDynamic[expr]中の式の評価に現れると,は連続的に再評価される.
  • Dynamicには属性HoldFirstがあるので,は表示のために値が必要となるまで評価されない.
  • Dynamicは,の評価によるとき以外は,インタラクティブな操作が を変更しないようにする.
  • Dynamic[expr, None]で表されるオブジェクトは,インタラクティブには変更できないが,何らかの理由で の値が変更されると変更される.
  • Dynamic[expr, Temporary]では,表示されたオブジェクトの形式がインタラクティブな操作で変更できるが,操作が完了したときでなければ更新された値の expr への割当ては行われない.
  • インタラクティブなマウス操作では,Dynamicは一般に,マウスが押されると を1度評価し,マウスが動かされるたびに を評価し,マウスが放されると を1度評価する.
  • マウスが動かされなければ,fは正確に1度ずつ評価される.
  • は常に,の評価の直後に1度評価され,最後に評価されたときの の値が,常に におけるものと同じになる.
  • Dynamicオブジェクトに影響を与えるインタラクティブな操作には,グラフィックス中あるいはSliderオブジェクト,InputFieldのようなオブジェクト中のフィールドの編集等がある.
  • fの関数は次のものでもよい.
AutomaticSetを使って値を割り当てる
Noneアクションは取らない
Temporary一時的な変更のためにインタラクティブな操作を許す
funcを評価する
  • Dynamicに割り当てられた値に制約条件を強制するために使うことができる.
  • Dynamicは, のような式であるとき,個々の変数の割当てに使うことができる.
  • 関数は,exprに割当てを行う場合には,属性HoldRestを持っていなければならない.Function[{v, e}, body, HoldRest]を使って,この属性を持たせることができる.
  • 次のオプションを使うことができる.
DeinitializationNoneDynamicが表示不可になったときに評価する式
EvaluatorAutomatic評価に使うカーネル
InitializationNoneDynamicが最初に表示されたときに評価する式
ShrinkingDelay0.表示オブジェクトが小さくなる場合の,縮めるまでの遅延時間
SynchronousUpdatingTrueコンテンツを同期して評価するかどうか
TrackedSymbolsAllその変更が更新を引き起す記号
UpdateIntervalInfinity更新を行う時間間隔
  • Dynamic[expr]は遅延的割当てに類似するものを提供する.この場合,値は式の評価によってではなく表示の必要性によって値が暗示的にリクエストされる.
Dynamicはその引数の現行値を単に返す:
に値を割り当てて,上記の出力を更新する:
記号 Sliderと結びつける:
Dynamicはその引数の現行値を単に返す:
In[1]:=
Click for copyable input
Out[1]=
に値を割り当てて,上記の出力を更新する:
In[2]:=
Click for copyable input
Out[2]=
記号 Sliderと結びつける:
In[3]:=
Click for copyable input
Out[3]=
任意の式をDynamicで包み込むことができる:
DynamicStandardFormでは見えないが,それでも存在している:
Dynamicを使って に依存する現在表示されている値とリンクする:
デフォルトで,Dynamic内の変数は局所化されない:
DynamicModuleを使って変数を局所化する:
そして,変数を初期化する:
Dynamicの式は自己誘発的なことがある:
Sliderとともに使う:
RandomRealDateListのような式は自動的には更新されない:
UpdateIntervalを使って動的更新を強制する:
Plotは出力作成のために明確な数値を必要とする:
Dynamicの式を別々に更新することで効率が上がる:
Dynamicで囲むことで,グラフィックス座標を制御入力として使う:
グラフィックス座標を制御入力として使い,2Dスライダー上での効果を見る:
Dynamicを使ってSlider等のインタラクティブな制御と変数を結び付ける:
ColorSlider
Dynamicを使ってTabViewのようなビュー要素を制御する:
デフォルトで,Dynamicはインタラクティブ要素内で用いられると割当て操作を行う:
第2引数を使ってインタラクション中に評価される関数を指定する:
インタラクション中とインタラクション後に評価される2つの関数のリストを与える:
インタラクションの前,間,後に評価される3つの関数のリストを与える:
Temporaryを使ってインタラクションの最後に動的変数を更新する:
Noneを使って動的変数の更新を不可とする:
出力が表示されなくなったときに評価される式を指定する:
デフォルトで,カーネルセッション間で外部定義は失われる:
Initializationを使って出力の表示に必要な式を評価する:
グラフィックスあるいは番号を に割り当てる:
ShrinkingDelayを使って出力サイズを縮小する前に一定の経過時間を置く:
が変化したときだけを更新する:
円の上になるように点に制限を加える:
動的計算インターフェースを構築する:
Triggerをコントロールにして,経過時間(分,秒)を記録するタイマーを作る:
国の形を参照する簡単なインターフェースを作る:
カスタムコントロール,つまり範囲がの角度スライダーを構築する:
範囲がの角度スライダー:
次の例題は割当て操作が失敗してうまくいかない:
Dynamicの第2引数を用いて割当て操作を制御する:
自己誘発的なDynamicは簡単に無限ループに陥ってしまう(終了したければ出力を削除する):
デフォルトで,ビュー要素は表示の前にコンテンツ全体を生成する:
DynamicImageSize->Automaticを使って表示されるときにだけコンテンツを生成するようにする:
連結したSlider
連結したSlider2D
「たるんだ」Slider
円板がグラフィックスエリアを動く際に,その中心をマウスの位置にする:
グラフィックスエリアを出る際の最後のマウス位置を記憶する:
枠で囲まれたエリア内でクリックしてボールが跳ねる様子を見る:
バージョン 6 の新機能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
フォーマット:   HTML  |  CDF