Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica > 动态交互 > 交互式操控 > Manipulate >

Manipulate

Manipulate
产生一个带有控件的 expr 的版本,该控件允许 u 值交互式操作.
Manipulate
允许 u 值在 之间以步长 du 变化.
Manipulate
u 的初始值设置为 .
Manipulate
作为 u 的控件标签.
Manipulate
允许 u 取离散值 .
Manipulate
使控件可以操纵每个 .
Manipulate
把控件与外部设备上的一个指定的控制器相链接.
  • 表达式 expr 可以是任何的图形或其它的表达式. 如果设置为 None,仅显示控件.
  • 默认情况下,以下形式可以生成特定格式的控件:
{u,umin,umax}操控器(滑尺、动画等等)
{u,umin,umax,du}步长为 du 的离散操控器
{u,{xmin,ymin},{xmax,ymax}}二维滑尺
{u,Locator}图形中的定位器
{u,{u1,u2,...}}一些元素的设置用工具条;更多的元素设置使用弹出菜单
{u,{u1->lbl1,u2->lbl2,...}}带有元素标签的设置用工具条或弹出菜单
{u,{True, False}}选择框
{u,color}颜色滑尺
{u}空白输入栏
{u,func}从一个函数中创建一个任意控件
{{u,uinit},...}初始值为 的控件
{{u,uinit,ulbl},...}标签为 的控件
{{u,...},...,opts}带特殊选项的控件
Control[...]一般控件对象
Delimiter水平定界符
字符串、视窗、单元表达式等等显式的文本、视窗、单元等注释符号
  • 在注释中,控件可用 Control 具体指定.
  • 一个控件的标签 可以是任意表达式.
  • 选项设置 ControlType->type 尽可能使用指定类型的控件.
  • 可以为每个变量分别设置 ControlType 选项. 在变量的规范内也可以给出控件选项.
  • ControlType 指定一个特定的变量,它应该由触发器控制.
  • 控件指定 {u, umin, umax, ..., Appearance->"Labeled"} 产生值显示为标签的滑尺.
  • 格式中,Dynamic[u] 作为 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} 为每一个 建立一个定位器,并且使 u 的值为所有 组成的列表.
  • 格式 {{u, uinit}, {xmin, ymin}, {xmax, ymax}, Locator} 指定定位器的范围.
  • 选项设置 LocatorAutoCreate 指定新的定位器应该对没有碰到现有定位器的点击添加. 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整体框架内的边幅
ImageMargins0整体 Manipulate 周围的边幅
InitializationNone当输出第一次显示时要计算的表达式
InterpolationOrderAutomatic书签之间动画转换的插入顺序
LabelStyle{}控件区域的样式规范
LocalizeVariablesTrue是否将变量设置为局部变量
PaneledTrue是否把显示的输出放入面板中
PreserveImageOptionsTrue当重新生成图形时,是否保留图像大小和其它选项
UnsavedVariablesNone不应该保存值的变量
RotateLabelFalse在框架中是否旋转 y 标签
SaveDefinitionsFalse是否保存与 expr 关联的所有定义
ShrinkingDelay0在显示对象变小前,缩小区域需要延迟的时间
SynchronousInitializationTrue是否同步执行初始化
SynchronousUpdatingAutomatic是否同步更新
TrackedSymbolsFull发生改变时触发输出更新的符号
  • Manipulate 是一个作用域结构,实现词典式作用域.
  • 默认设置 UnsavedVariables,变量 uv 等值会自动保存在记事本中,当记事本重新打开时它重新存储.
  • 设置 Initialization:>expr,当 Manipulate 执行或结果第一次显示在一个特定会话中时,计算 expr 表达式.
  • AppearanceElements 的设置可以是以下任何次序的列表: . 默认情况下,只包含 .
  • 按下快照按钮,直接在 Manipulate 的输出下产生一个单元,包含格式 With 的输入, 指明所有变量的当前值.
  • 设置 ContinuousAction->None,显示一个明确的 更新 按钮,expr 是不会重新计算的,直到按下该按钮.
  • 设置 TrackedSymbols->All,当任何符号在计算时发生改变的时候,才更新输出.
  • 外部设备的控件(例如游戏面板)可以包括游戏操纵杆、按钮等等.
  • 典型的外部控件说明包括:
x主要 x
y主要 y
z主要 z
{x,y}主要 2 轴控件值
{x,y,z}主要 3 轴控件值
等.xy二级控件的值
等.x循环值
等.x绝对控件位置的值
等.切换按钮状态
等.瞬时按钮状态
  • 在一个 Mathematica 特定进程中活跃的设备的外部控件的规格名称,通常可以用 ControllerInformation 来获取.
  • 默认设置 ControllerMethod->Automatic,一个控件规范(如 )的意思是:一个控件的位移,例如游戏操纵杆默认是由相应的变量 x 的变化率决定的. 如果选中了一个不同的状态,例如通过松开游戏操纵杆,控件的绝对位置直接决定 x 的值.
  • 在诸如 的控件规范下,一个控件的绝对位置例如一个游戏操纵杆决定了相应的变量 x 的值.
  • 在诸如 的控件规范下,当控件到达范围的最后,相应的变量 x 的值通常从头开始循环.
  • 诸如 的控件规范可能与外部设备上的很多控件相关联,例如单个控件上的两个截然不同的游戏操纵杆上的轴.
  • 在有两个操纵杆的游戏面板或其它设备上, 通常是指左边的操纵杆, 通常是指右边的操纵杆. 如果游戏面板上有一个"帽子"控制,通常指的是 .
  • 按钮控件规范,例如 ,每当对应的按钮被压下时,它就在 TrueFalse 之间切换.
  • 绝对规范,例如 ,当按下按钮时为 True 否则为 False.
  • BaseStyleLabelStyle 的设置可以作为当前样式表中 提供的默认样式的补充.
操纵一个连续参数:
用离散步骤中操纵一个参数:
操纵两个参数:
给出参数的默认值和名称:
操纵一个连续参数:
 
用离散步骤中操纵一个参数:
 
操纵两个参数:
 
给出参数的默认值和名称:
操纵任何类型的内容包括数字:
公式:
程序:
二维图形:
三维图形:
控件:
使用一组标准控件,包括 Checkbox
每个元素有标签的 SetterBar
多个 Locator 对象:
允许用 Alt+Click 创建其它的定位器:
使用任意数量的控件:
使用诸如 Row 或者 Grid 结构体中的 Control 以任意方式对控件进行布局:
使用 ControlType 指定控件类型:
用一个纯函数输出一个普通的控件类型:
将单个变量与多个控件连接:
对单个控件,使用默认值和注解:
以任何类型的表达式作为注解,包括排版和图形:
使用动态更新的注解:
DelimiterItem 等将 Manipulate 控件分组:
使用 ControlPlacement 放置单个控件:
同时使用 ControlPlacement 和注解元素:
使用动态更新的注解:
标注可包含 Control 对象或者其它布局结构体:
在默认情况下,当控件被选中时,它只影响一个 Manipulate;使用 All 可以对这个设置进行覆盖:
ControllerPath 指定使用的控件类别:
ControllerMethod 设置为 ,强制它为绝对关联而不是相对的:
当改变参数时,您能交互旋转三维图形:
建立一个变量的定位器:
用预设值:
在默认情况下,Manipulate 仅包含一个 Manipulator
AppearanceElements 指定显示更多的控制:
在默认情况下,值不发生变化直到点击滑尺区域:
设置 AutoAction,当鼠标指向滑尺区域时值发生改变:
通过选择"控制"菜单中的"自动运行"项,每个变量自动运行:
AutorunSequencing 来控制自动运行时变量的顺序:
为每个变量指定不同持续时间 (默认为5):
指定 All 同时运行所有变量:
与周围的文本对齐:
在默认情况下,变量持续更新:
设置 ContinuousActionFalse 时,仅在释放控制时才更新:
设置成 None 则不更新内容知道"更新"按钮被单击:
在默认情况下,当选择对象时,输出相应一个外部控制器:
Full 使输出仅响应在当前的选择中的对象:
All 使输出总是响应外部控制器:
True 使输出响应当前强调的笔记本:
False 使输出永远不响应外部控制:
在默认情况下,变量与控制器设备上相应的控制关联:
设置 ControllerMethod 强制为绝对联合而不是相对联合:
默认情况下,Manipulate 响应所有支持的控制中第一个控制器:
指定一个控制器,通常包括两个模拟控制:
指定一个控制器,通常包括一个主要模拟控制:
作为控制器,类似空间鼠标:
指定一个不在计算机内部的控制器:
指定一个计算机内部的控制器:
指定控制器的位置:
ControlPlacement 也影响注释,不论它们是否包含 Control 对象:
在默认情况下,Manipulate 选择一个 Manipulator 来控制指定变量:
ControlType 指定所使用的控制的类型,包括 None
分别为每个 Manipulate 变量指定控制类型:
ControlType 可以和单个变量的控制规则相结合:
ControlType 以相同方式影响由 Control 指定的控件:
Automatic 设置中,选择一个适当的控制器:
Manipulate 不显示时,用 Deinitialization 计算表达式:
在默认情况下,内容和控制是交互的:
使用 Deployed 限制控制的交互:
在底部指定一个标签:
在底部和左边指定不同的标签:
每一边指定标签:
对于内容区域周围的边幅,使用预设值:
或使用具体值:
使用符号值:
或使用具体值:
对于 Manipulate 输出,用 Initialization 来指定的计算必要性:
为标签指定样式细节:
使用混合样式:
框架标签的样式受到 LabelStyle 的影响:
在默认情况下,变量为局部变量:
通过设置 LocalizeVariables,变量被视为全局变量:
指定面板内的输出是否可以换行:
指定框架标签是否在垂直位置上旋转:
默认情况下,外部定义在核心进程间丢失:
设置 SaveDefinitionsTrue,外部定义和输出一起保存:
在默认情况下,初始化是同步进行的:
指定非同步的初始化:
使用默认计算,5 秒钟后会超时:[排除程序缺陷]
通过设置 SynchronousUpdating 不可用,计算不会超时:
指定用作更新的符号:
定义一个运行表:
操纵 的运行表:
一个图形对象的普通线性变化:
通过交互式操纵初始值,求解一个边界值的问题:
使用 InputForm 获取 Manipulate 的输入:
具体对象的 InputForm 也可以反映当前的状态:
输出时设置 Setting 来访问显示表达式:
使用 Dynamic 来进行局部更新,避免整个表达式的更新:
设置 Appearance 来显示所有 Manipulator 控制:
当操纵结构图时,PlotRange 会发生改变和重置大小:
使用一个固定的 PlotRange 避免重置大小:
当操纵结构图时,标记大小会发生改变和重置大小:
使用固定的 PlotRangeImagePadding 避免重置大小:
Manipulate 仅"注意"明确的可见参数:
参数 没有明确显示在
重新定义 来明确地包括参数
操纵来自点负荷的静电势能:
创建一个简单的多面体属性浏览器:
可视化显示线性微分方程 的解:
创建数目可变化的控件:
版本 6 的新功能 | 版本 7 修改功能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
格式:   HTML  |  CDF