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

DynamicModule

DynamicModule
表示一个对象,它保持 expr 中所有 Dynamic 对象在计算过程中符号 xy、... 的局部值. 在默认情况下, DynamicModule 中指定的符号甚至在整个 Mathematica 进程中都不会改变它们的值.
DynamicModule
xy、... 指定初始值.
  • DynamicModule 首先为 expr 中的局部变量给出特定名称,如同 Module,然后计算得出的表达式,然后返回其封闭在 DynamicModule 中的新形式.
  • 在一个笔记本中,它返回的形式通常显示在输出单元中,例如从 Manipulate 输出.
  • 在一个 DynamicModule 结果的显示形式中,如果交互式改变或编辑 Dynamic 对象,使局部变量的任意值发生了改变,则 DynamicModule 对象相应作出反应.
  • 当一个包含 DynamicModule 的笔记本保存时,一个 DynamicModule 中的局部变量值自动默认保存,使这些值在整个 Mathematica 进程实际上保持一致.
  • 如果您复制一份包含 DynamicModule 对象在内的笔记本,副本中的局部变量将独立于原件中的局部变量,尽管它们的初始值相同.
  • 可以给出以下可选项:
DeinitializationNoneDynamicModule 不能再被显示时计算的表达式
DynamicModuleValuesAutomatic对变量值,动态更新数据
InitializationNoneDynamicModule 首次被显示时,计算的表达式
UnsavedVariables{}数值不应被保存的变量
  • 当一个 DynamicModule 对象在某个特定笔记本中首次显示时,局部变量的保存值被恢复,然后计算 Initialization 选项的任意设置.
  • DynamicModule 结构可以任意嵌套,如果需要可以重新命名内部变量.
  • DynamicModule 是一个作用域结构,以实现词汇的作用域.
生成一个带有动态更新的局部变量的 Slider
复制和粘贴以上输出以获得一个独立对象:
生成一个带有动态更新的局部变量的 Slider
In[1]:=
Click for copyable input
Out[1]=
复制和粘贴以上输出以获得一个独立对象:
Out[2]=
Out[3]=
利用 DynamicModule 确定变量并防止与其相应的全局变量发生冲突:
局部变量与生成的输出完全不同:
为局部变量赋初始值,例如 Module
定义一个函数作为局部变量:
在不同的 Mathematica 进程中,用 DynamicModule 保存显示状态:
Module 仅给出当前 Mathematica 进程的单一状态:
在显示内容前,用 Initialization 计算表达式:
Initialization 的计算是在局部变量赋值后:
当输出不再显示时,指定计算的表达式:
局部变量的函数定义自动插入到 DynamicModuleValues
在默认情况下,外部定义在核心进程之间丢失:
Initialization 保存内容中所需的计算:
局部变量也可以初始化:
默认情况下,在显示输出之前进行初始化计算(同步进行):
使输出在非同步初始化计算时进行显示:
指定变量状态不被保存:
进行以下计算并且移动两个滑尺,然后按下 关闭
进行以下计算并且注意第二个滑尺不会记忆它以前的状态:
构造一个动态计算界面:
交互式曲线拟合图:
范围为 的箭头滑尺:
使滑尺与一个动态变量相连:
证明一种正弦曲线关系:
PolarPlot 证明螺旋曲线:
DynamicModuleModule 尽管表面相似但本质不同:
在这个范例中两个滑尺都会移动,当重新打开时如果不计算同样不起作用:
Manipulate 依据 DynamicModule 生成输出:
独立状态的滑尺:
点击框架内区域观察弹球:
选择输出和扩展;点击不同框架以生成附加的球:
版本 6 的新功能 | 版本 7 修改功能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
格式:   HTML  |  CDF