此为 Mathematica 7 文档,内容基于更早版本的 Wolfram 语言
查看最新文档(版本11.2)

Manipulate

Manipulate[expr, {u, umin, umax}]
产生一个带有控制的 expr 的版本,该控制允许 u 值交互式操作。
Manipulate[expr, {u, umin, umax, du}]
允许 u 值在 uminumax 之间以步长 du 变化。
Manipulate[expr, {{u, uinit}, umin, umax, ...}]
u 的初始值设置为 uinit
Manipulate[expr, {{u, uinit, ulbl}, ...}]
标注 uulbl 分类控制用。
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}}二维滑尺
{u,Locator}图中的定位器
{u,{u1,u2,...}}一些元素的设置用工具条;更多的元素设置使用弹出菜单
{u,{u1->lab1,u2->lab2,...}}带有元素标签的设置用工具条或弹出菜单
{u,{True,False}}选择框
{u,color}颜色滑尺
{u}空白输入
{u,func}从一个函数中创建一个任意控制
{{u,uinit},...}初始值 uinit 的控制
{{u,uinit,ulbl},...}标签 ulbl 的控制
{{u,...},...,opts}带特殊选项的控制
Control[...]一般控制对象
Delimiter水平定界符
字符串,单元表达式等等。直接文本、单元等符号
  • 在注释中,控制可用 Control 具体化。
  • 一个控制的标签 ulbl 可以是任意表达式。
  • 设置选项 ControlType->type,尽可能使用指定样式的控制。
  • 可以为每个变量分别设置 ControlType。 在变量的规范内可以给出控制选项。
  • ControlType->Trigger 指定一个特殊的变量,它可以用触发器控制。
  • 指定控制 {u, umin, umax, ..., Appearance->"Labeled"},产生标注显示值的滑尺。
  • {u, func} 形式中,Dynamic[u] 作为 func 的第一个参数给出。
  • 形式 {u, umin, umax, func} 也可以用; 它是按照func[Dynamic[u], {umin, umax}]执行的。
  • {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 的使用次数大于 1,连接为它指定控制。
  • 可以给出下列的全部选项:
AlignmentAutomatic如何在显示区域中对齐输出
AppearanceElementsAutomatic所有的控制元素包含在显示输出中
AutoActionFalse当鼠标指向时是否自动改变控制
AutorunSequencingAutomatic如何自动运行控制
BaselinePositionAutomatic与周围的文本的对齐
BaseStyle{}Manipulate 的基本样式规范
Bookmarks{}书签的设定
ContentSizeAutomatic内容范围的绝对尺寸
ContinuousActionAutomatic控制改变时是否连续更新
ControllerLinkingAutomatic何时激活与外部控制的连接
ControllerMethodAutomatic如何操作外部控制器
ControllerPathAutomatic需要使用哪个外部控制器
ControlPlacementAutomatic控制的位置
ControlTypeAutomatic使用的控制的类型
DeinitializationNone如果删除 Manipulate 的输出,需要计算的表达式
DeployedFalse是否部署显示的输出
EvaluatorAutomatic计算使用的内核
FrameLabelNone外部框架的标签
FrameMarginsAutomatic整体框架内的边幅
ImageMargins0Manipulate 周围的边幅
InitializationNone当输出第一次显示时要计算的表达式
InterpolationOrderAutomatic书签之间动画转换的插入顺序
LabelStyle{}为控制区域指定的类型
LocalizeVariablesTrue是否设置变量为局部变量
PaneledTrue是否把显示的输出放入面板中
PreserveImageOptionsTrue当重新生成图形时是否保留图片大小和其他选项
RotateLabelFalse在框架中是否旋转 y 标签
SaveDefinitionsFalse是否保存与 expr 关联的所有定义
ShrinkingDelay0在显示对象变小前,缩小区域需要延迟的时间
SynchronousInitializationTrue是否同步执行初始化
SynchronousUpdatingAutomatic是否同步更新
TrackedSymbolsFull触发输出更新的符号
  • 选项 ControlPlacementControlTypePreserveSettingsResetButton 可以以 {u, spec, opts} 的形式分别提供给每个变量。
  • Manipulate 是一个作用域结构,实现词典式作用域。
  • 默认设置 PreserveSettings->True,变量 uv 等值会自动保存在记事本中,当记事本重新打开时它重新存储。
  • 设置 Initialization:>expr,当 Manipulate 执行或结果第一次显示在一个特定部分时,计算 expr 表达式。
  • AppearanceElements 元素可以以任何次序在列表中给出: Manipulate 的默认输出包含以下元素: "HideControlsButton""SnapshotButton""BookmarksButton"。也支持 "ResetButton"
  • 按下快照按钮,直接在 Manipulate 的输出下产生一个单元,包含输入的这种形式 With[{u=uval, ...}, expr], 指定所有变量的当前值。
  • 设置 ContinuousAction->None,显示一个外在的更新按钮,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} 等。二级控制器的值
"XCyclic" 等。x 等。循环值
"XAbsolute" 等。x 等。绝对控制位置的值
"B1""B2" 等。b1b2 等。固定按钮状态
"B1Absolute""B2Absolute" 等。b1b2 等。即时按钮状态
  • 在一个 Mathematica 特定部分活跃的设备外部控制器的规格名称,通常可以用 ControllerInformation 来获取。
  • 默认设置 ControllerMethod->Automatic,一个控制器规范,例如 "X" 意思是:一个控制的置换,例如游戏操纵杆默认是由相应的变量 x 的变化率决定的。如果交互状态被选中,例如通过压游戏操纵杆,控制的绝对位置直接决定 x 的值。
  • 控制器规范,例如 "XAbsolute",一个控制的绝对位置例如一个游戏操纵杆决定相应的变量 x 的值。
  • 控制器规范,例如 "XCyclic",当控制到达范围的最后,相应的变量 x 通常循环的在附近包装。
  • 控制器规范,例如 "XYZ" 可能与外部设备的很多控制联合,例如一个控制器上的两个截然不同的游戏操纵杆上的轴。
  • 在有两个操纵杆的游戏面板或其它设备上,"XY1" 通常是指左边的操纵杆,"XY2" 通常是指右边的操纵杆。如果游戏面板上有一个"帽子"控制,通常涉及到 "XY3"
  • 按钮控制器规范,例如 "B1",每当对应的按钮被压下时它就在 TrueFalse 之间拨动。
  • 绝对规范,例如 "B1Absolute",当按下按钮时为 True 否则为 False
  • BaseStyleLabelStyle 的设置可以作为当前样式表中 "Manipulate""ManipulateLabel" 提供的缺省样式的补充。
6 的新功能 | 7 中的修改功能