过去两天我一直坚持这个问题。我正在对两个不同的数据执行相同的操作集(包括对动态更新进行操作)。当每个单独完成时,我得到正确的输出,但当两个manupulate在同一个笔记本中时,第一个操作只是复制第二个。我读到这与全局变量有关,但作为一个有点难以理解的初学者。
答案 0 :(得分:2)
在Manipulate中访问和使用的所有变量都应该是Manipulate的内部变量。不要使用全局变量。就这些。即不要写像
这样的东西x=0
Manipulate[ x=y+1;
x,
{{y,0,"y="},0,10,1}
]
现在x
处于全球范围内。但是写一下
Manipulate[
Module[{x=0},
x=y+1;
x
],
{{y,0,"y="},0,10,1}
]
只需要确保没有使用的变量是全局的。使用Manipulate中的模块将代码分解出来并使用参数传递它们之间的所有内容。