jml*_*pez 2 wolfram-mathematica
是否可以更改变量的值Manipulate?假设我有一Manipulate两个变量,x和y我们显示的值.我想要做的是以这样的方式使它当我改变值时x,y更新为x*x.当我更改值时y,则x更新为平方根y.
另一个问题是,我可以有多个面板Manipulate吗?我想在每个滑块下面都有一个白色面板.
Manipulate[
Row[{x, y}, " "],
Row[{
Control[{{x, 0, Style["x", "TI", 14]}, 0, 4 , Appearance -> "Labeled"}],
Control[{{y, 0, Style["y", "TI", 14]}, 0, 16, Appearance -> "Labeled"}]
}]
]
Run Code Online (Sandbox Code Playgroud)

在上面的情节中,我设置x为3和y9.再次,我想移动y说4并且必须x移动到2.同样,我想移到x4并y移动到16.可能吗?或者我刚遇到鸡肉或鸡蛋问题?
有点黑客但是要将滑块耦合并获得两个面板,你也可以做这样的事情
Panel[DynamicModule[{x, y, width = 250},
Grid[{{
Labeled[Slider[Dynamic[x, (x = #; y = #^2) &], {0, 5}],
{Style["x", "TI", 14], Dynamic[x]}, {Left, Right}],
Labeled[Slider[Dynamic[y, (y = #; x = Sqrt[#]) &], {0, 25}],
{Style["y", "TI", 14], Dynamic[y]}, {Left, Right}]},
Framed[Pane[#, width, Alignment -> Center], FrameMargins -> 10,
Background -> White, FrameStyle -> {Gray}] & /@
{Row[{"x=", Dynamic[x]}], Row[{"y=", Dynamic[y]}]}}, Alignment -> Left]]]
Run Code Online (Sandbox Code Playgroud)
截图:
