Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica >

Manipulate

Manipulate[expr, {u, umin, umax}]
u の値をインタラクティブに操作するためのコントロールを追加した expr を生成する.
Manipulate[expr, {u, umin, umax, du}]
u の値は範囲 umin から umax,刻み幅 du で変化する.
Manipulate[expr, {{u, uinit}, umin, umax, ...}]
u の初期値が uinit であると解釈する.
Manipulate[expr, {{u, uinit, ulbl}, ...}]
u のコントロールに ulbl のラベルを付ける.
Manipulate[expr, {u, {u1, u2, ...}}]
u は離散的な値 u1, u2, ... を取ることができる.
Manipulate[expr, {u, ...}, {v, ...}, ...]
u, v, ... を操作するコントロールを追加する.
Manipulate[expr, "cu"->{u, ...}, "cv"->{v, ...}, ...]
外部デバイス上の指定されたコントローラとコントロールを繋ぐ.
  • expr はグラフィックスやその他の式でもよい.Noneの場合はコントロールのみが表示される.
  • デフォルトで,次の形式はコントロールの特別な形を与える.
{u,umin,umax}マニピュレータ(スライダー,アニメータ等)
{u,umin,umax,du}刻み幅 du の離散的マニピュレータ
{u,{xmin,ymin},{xmax,ymax}}2Dスライダー
{u,Locator}グラフィックス内のロケータ
{u,{u1,u2,...}}2,3個の要素のためのセッターバー,それ以上の要素にはポップアップメニュー
{u,{u1->lab1,u2->lab2,...}}要素にラベルが付いた設定バーあるいはポップアップメニュー
{u,{True,False}}チェックボックス
{u,color}色スライダー
{u}空白の入力フィールド
{u,func}関数から任意のコントロールを作成する
{{u,uinit},...}初期値 uinit のコントロール
{{u,uinit,ulbl},...}ラベル ulbl の付いたコントロール
{{u,...},...,opts}特定のオプション付きのコントロール
Control[...]コントロールオブジェクトを生成する
Delimiter水平デリミタ
文字列,セル,式等明示的なテキスト,セル等の注釈
  • コントロールのラベル ulbl はどのような式でもよい.
  • 注釈内部では,コントロールはControlを使って指定することができる.
  • オプション設定のControlType->type は,指定されたタイプのコントロールを行おうとする.
  • 各変数に対して別々にControlTypeオプションを与えることができる.コントロール用のオプションも,変数の指定内で与えることができる.
  • ControlType->Triggerは,特定の変数をトリガで制御するように指定する.
  • コントロール指定{u, umin, umax, ..., Appearance->"Labeled"}は値がラベルとして表示されるスライダーを返す.
  • {u, func}の形のときは, Dynamic[u]func の第1引数として与えられる.
  • {u, umin, umax, func}という形もまた使うことができる.この場合,評価されるのはfunc[Dynamic[u], {umin, umax}]である.
  • {u}{u, InputField}と等価である.{u, ColorSlider}はデフォルトの色スライダーをコントロールとして与える.
  • {u, Locator}の形式のとき,u の値は xy の座標を与えるリストである.この座標は expr 中の最初のグラフィックスか,expr の各方向について0から1の範囲のどちらかに属する.
  • {{u, {{x1, y1}, {x2, y2}, ...}}, Locator}の形式で{xi, yi}のそれぞれのロケータを設定し,u の値がすべての{xi, yi}のリストになるようにする.
  • {{u, uinit}, {xmin, ymin}, {xmax, ymax}, Locator}の形式でロケータの範囲を指定する.
  • オプション設定のLocatorAutoCreate->Allは,既存のロケータに当たらなかったクリックについて新たなロケータを追加するように指定する.Alt+Clickでロケータを削除する.
  • {{u, {}}, Locator, LocatorAutoCreate->All}は,ロケータがない状態から始めるが,新たなロケータが作られることを許容する.
  • 変数 u が複数回用いられている場合は,このためのリンクされたコントロールが与えられている.
  • オプション設定のControlPlacement->pos で,expr と相対的な位置 pos にコントロールを置くように指定する.pos の可能な設定値はBottomLeftRightTopである.
  • 注釈の置き方は,注釈をControlPlacementオプションを持つItemで囲むことで指定することができる.
  • 次のオプションが使用できる.
AlignmentAutomatic表示エリアの出力をどのように整列させるか
AppearanceElementsAutomatic表示された出力が含む全体的な制御要素
AutoActionFalseマウスがその上に置かれたときにコントロールを自動的に変えるかどうか
AutorunSequencingAutomaticオートランがどのようにコントロールを使うべきか
BaselinePositionAutomatic周囲のテキストとの相対的な位置付け
BaseStyle{}Manipulateのベーススタイル指定
Bookmarks{}ブックマークの設定
ContentSizeAutomatic内容エリアの絶対サイズ
ContinuousActionAutomaticコントロールが変更されたときに継続的に自動更新を行うかどうか
ControllerLinkingAutomatic外部コントローラへのリンクをいつアクティブにするか
ControllerMethodAutomatic外部コントローラをどのように操作するか
ControllerPathAutomaticどのような外部コントローラを使ってみるか
ControlPlacementAutomaticコントロールの配置
ControlTypeAutomatic使用するコントロールタイプ
DeinitializationNoneManipulateからの出力が削除されたときに評価される式
DeployedFalse表示された出力を配備するかどうか
EvaluatorAutomatic評価に使用するカーネル
FrameLabelNone外側の枠のラベル
FrameMarginsAutomatic全体的な枠の内側の余白
ImageMargins0Manipulate全体の周囲の余白
InitializationNone出力が最初に表示されたときに評価する式
InterpolationOrderAutomaticブックマーク間の変化をアニメーションにする際の補間次数
LabelStyle{}コントロールエリアのスタイル指定
LocalizeVariablesTrue変数を局所化するかどうか
PaneledTrue表示された出力をパネルに入れるかどうか
PreserveImageOptionsTrueグラフィックスを再生成する際に画像サイズと他のオプションを保存するかどうか
RotateLabelFalse枠の上の y ラベルを回転させるかどうか
SaveDefinitionsFalseexpr と関連するすべての定義を保存するかどうか
ShrinkingDelay0表示されたオブジェクトが小さくなる場合の縮めるまでの遅延時間
SynchronousInitializationTrue初期化を同期して行うかどうか
SynchronousUpdatingAutomatic更新を同期して行うかどうか
TrackedSymbolsFullその変更が出力の更新を引き起す記号
  • オプションControlPlacementおよびControlTypeは,{u, spec, opts}の形式で,それぞれの変数に別々に与えることができる.
  • Manipulateはレキシカルスコープを実装するスコープ構文である.
  • デフォルト設定のPreserveSettings->Trueでは,変数 uv 等の値は自動的にノートブックに保存され,ノートブックが再度開かれたときに復元される.
  • Initialization:>expr の設定では,Manipulateが実行されたとき,あるいは特定のセッションで結果が最初に表示されたときに式 expr が評価される.
  • AppearanceElementsの設定として,リスト中に"ContentResizeArea""HideControlsButton""ManipulateMenu""SnapshotButton"を任意の順序で指定することができる.デフォルトでは"ManipulateMenu"のみが含まれる.
  • スナップショットボタンを押すとManipulate出力の真下に全変数の現行値を指定するWith[{u=uval, ...}, expr]形式の入力を含むセルが作られる.
  • ContinuousAction->Noneという設定のときは明示的な更新ボタンが表示され,これが押されるまで expr は再評価されない.
  • デフォルト設定のTrackedSymbols->Automaticでは,expr に明示的に現れる記号だけが追跡記録される.
  • TrackedSymbols->Allとすると,評価中に遭遇した記号が変化するたびに出力が更新される.
  • ゲームパッドのような外部デバイス上のコントローラは,ジョイスティック,ボタン等を含むことができる.
  • 外部コントローラ指定には次のようなものがある.
"X"または"X1"x x の主値
"Y"または"Y1"y y の主値
"Z"または"Z1"z z の主値
"XY"または"XY1"{x,y}2軸コントローラの主値
"XYZ"または"XYZ1"{x,y,z}3軸コントローラの主値
"X2""Y2""XY2"xy{x, y}第2コントローラからの値
"XCyclic"x循環的であると解釈される値
"XAbsolute"x絶対的なコントロール位置からの値
"B1""B2"b1b2トグルスイッチで切り換えられるボタンの状態
"B1Absolute""B2Absolute"b1b2瞬間的なボタンの状態
  • 特定の Mathematica セッションでアクティブなデバイスのための生の外部コントローラ指定名は,一般にControllerInformationを使って見付けることができる.
  • デフォルト設定のControllerMethod->Automaticでは,「X」のようなコントローラ指定は,デフォルトでジョイスティック等のコントロールの移動は対応する変数 x の値の変化率を決定することを意味する.例えばジョイスティックを押すことによって別の状態が選ばれると,コントロールの絶対的な位置が x の値を直接決定する.
  • XAbsolute」のようなコントローラ指定では,ジョイスティックのようなコントロールの絶対的な位置が,対応する変数 x の値を決定する.
  • XCyclic」のようなコントローラ指定では,一般にコントロールが範囲の端に達すると対応する変数 x の値は循環的にラップするとされる.
  • XYZ」のようなコントローラ指定は,例えば1つのコントローラ上の2つの異なるジョイスティックの軸のように外部デバイス上の複数のコントロールと関連している可能性がある.
  • ゲームパッドや2つのジョイスティックがあるその他のデバイス上では,「XY1」は一般に左側のスティックを指し,「XY2」は一般に右側のスティックを指す.ゲームパッドに「hat」コントロールがある場合は,一般に「XY3」でこれを指す.
  • B1」のようなボタンコントローラ指定は,対応するボタンが押されるたびにTrueFalseを切り換える.
  • B1Absolute」のような絶対指定はボタンが押されている間はTrueを,それ以外はFalseを返す.
  • BaseStyleおよびLabelStyleの設定値は,一般に現行スタイルシートの"Manipulate"スタイルと"ManipulateLabel"スタイルで与えられるデフォルトスタイルに加えられる.
バージョン 6 の新機能 | バージョン 7 での修正機能