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

Dynamic

Dynamic[expr]
expr の動的に更新された現在値を表示するオブジェクトを表す.Dynamic[expr]の表示形式がインタラクティブに変更されたり編集されたりする場合は,割当て expr=val expr に表示形式に対応する新しい値 val を与えるように行われる.
Dynamic[expr, None]
インタラクティブな修正や編集はできない.
Dynamic[expr, f]
val のインタラクティブな変更や編集の間,f[val, expr]を継続的に評価する.
Dynamic[expr, {f, fend}]
インタラクティブな変更や編集が終了してから fend[val, expr]も評価する.
Dynamic[expr, {fstart, f, fend}]
インタラクティブな変更や編集が開始してから fstart[val, expr]も評価する.
  • Dynamic[expr]は直接表示される式として現れるだけでなく,例えばグラフィックスプリミティブあるいはスライダーのようなオブジェクトの座標として,またオプション設定としても現れることができる.
  • インタラクティブな操作を通して expr に値を割り当てる際に使用されるときのDynamic[expr]中の式は,シンボル x,オブジェクト x[i],部分e[[i]],あるいはリスト{x, y, ...}であることが多い.
  • 例えばグラフィックスでは,Point[Dynamic[{x, y}]]xy のyの現行値で与えられるために位置が動的に更新される点を表す.点がインタラクティブに移動されるたびに,{x, y}={valx, valy}の形の割当てが行われる.Point[Dynamic[{x, y}]]はインラタクティブに移動できる.Dynamic[Point[{x, y}]]はインタラクティブには移動できない.
  • Dynamic[expr]は,値が必要になるといつでも expr を評価し,それが依存しているシンボルの任意のタイプの値が変更されたかどうかを判断する.
  • RefreshあるいはClockオブジェクトがDynamic[expr]中の式の評価に現れると,expr は連続的に再評価される.
  • Dynamicには属性HoldFirstがあるので,expr は表示のために値が必要となるまで評価されない.
  • Dynamic[expr, f]は,f[val, expr]の評価によるとき以外は,インタラクティブな操作が expr を変更しないようにする.
  • Dynamic[expr, None]で表されるオブジェクトは,インタラクティブには変更できないが,何らかの理由で expr の値が変更されると変更される.
  • Dynamic[expr, Temporary]では,表示されたオブジェクトの形式がインタラクティブな操作で変更できるが,操作が完了したときでなければ更新された値の expr への割当ては行われない.
  • インタラクティブなマウス操作では,Dynamic[expr, {fstart, f, fend}]は一般に,マウスが押されると fstart[val, expr]を1度評価し,マウスが動かされるたびに f[val, expr]を評価し,マウスが放されると fend[val, expr]を1度評価する.
  • マウスが動かされなければ,fstartffend は正確に1度ずつ評価される.
  • f[val, expr]は常に,fstart[val, expr]の評価の直後に1度評価され,最後に評価されたときの val の値が,常に fend[val, expr]におけるものと同じになる.
  • Dynamicオブジェクトに影響を与えるインタラクティブな操作には,グラフィックス中あるいはSliderオブジェクト,InputFieldのようなオブジェクト中のフィールドの編集等がある.
  • fstartffend の関数は次のものでもよい.
AutomaticSetを使って値を割り当てる
Noneアクションは取らない
Temporary一時的な変更のためにインタラクティブな操作を許す
funcfunc[val, expr]を評価する
  • Dynamic[expr, f]expr に割り当てられた値に制約条件を強制するために使うことができる.
  • Dynamic[expr, f]は,expr x+y のような式であるとき,個々の変数の割当てに使うことができる.
  • 関数func[val, expr]は,exprに割当てを行う場合には,属性HoldRestを持っていなければならない.Function[{v, e}, body, HoldRest]を使って,この属性を持たせることができる.
  • 次のオプションを使うことができる.
DeinitializationNoneDynamicが表示不可になったときに評価する式
EditableFalseDynamicをテキスト表示したものを編集可能にするかどうか
EvaluatorAutomatic評価に使うカーネル
InitializationNoneDynamicが最初に表示されたときに評価する式
ShrinkingDelay0.表示オブジェクトが小さくなる場合の,縮めるまでの遅延時間
TrackedSymbolsAllその変更が更新を引き起す記号
UpdateIntervalInfinity更新を行う時間間隔
  • Dynamic[expr]は遅延的割当てに類似するものを提供する.この場合,値は式の評価によってではなく表示の必要性によって値が暗示的にリクエストされる.
バージョン 6 の新機能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team