我希望使用一对滑块来设置nLo和nHi两个变量的整数值,每个变量可单独从1到100范围内取值,但需要满足nHi >= nLo的限制。因此我为每个变量设置了一个滑块,其范围依赖于另一个变量的动态变化。
问题在于一旦我调整nHi,它的值就变为实数(显示为带有小数点的数字),而不是整数。我猜这是因为nHi的滑块不能识别其第一个范围参数Dynamic[nLo]实际上是整数,所以它默认使用实数值。有什么建议可以强制nHi保持整数值吗?(Linux Mathematica v8.0.1)
nLo = 1; nHi = 100;
Column[
{
Labeled[Slider[Dynamic[nLo], {1, Dynamic[nHi], 1},
Appearance -> "Labeled"], "nLo", Left
],
Labeled[Slider[Dynamic[nHi], {Dynamic[nLo], 100, 1},
Appearance -> "Labeled"], "nHi", Left
],
Dynamic[{nLo, nHi}]
}
]
问题在于一旦我调整nHi,它的值就变为实数(显示为带有小数点的数字),而不是整数。我猜这是因为nHi的滑块不能识别其第一个范围参数Dynamic[nLo]实际上是整数,所以它默认使用实数值。有什么建议可以强制nHi保持整数值吗?(Linux Mathematica v8.0.1)
Dynamic
的第二个参数的使用在动态教程(http://reference.wolfram.com/mathematica/tutorial/IntroductionToDynamic.html)中有详细解释,对应章节名为"The Second Argument of Dynamic"。 - Sjoerd C. de Vries