动态无法正常工作

时间:2012-06-20 07:22:04

标签: math wolfram-mathematica mathematica-frontend

我在Mathematica中遇到动态命令的麻烦,下一个代码显示函数f(x)= 1 - x ^ 2的交互式图形。图形标题还显示曲线下的当前区域(定积分),使用滑块修改。

 Manipulate[Show[Plot[1 - x^2, {x, 0, 1}, PlotLabel -> Integrate[1 - x^2, {x, 0, Limite - 0.000000000001}]],   
 Plot[-x^2 + 1, {x, 0, Limite}, PlotRange -> {0, 1}, Filling -> Axis] ], {Limite, 0.000000000001, 1}, LocalizeVariables -> False]

我想使用此命令显示当前区域:

Integrate[1 - x^2, {x, 0, Dynamic[Limite]}]

但结果不是我的预期。 Mathematica对此进行了评估     0.529 - (0.529)^3 / 3 这是正确的,但我不明白为什么它显示一个表达而不是一个数字。 //FullSimplify//N命令无法解决问题。

有更好的方法来获得结果吗?

我是否正确使用动态命令?

谢谢!

1 个答案:

答案 0 :(得分:1)

使用您的示例,使用符号上限执行一次“积分”命令。当该上限的值改变时,不重新计算积分。如果从迭代器规范中移动Dynamic []包装器并将其包装在Integrate命令周围,那么将获得所需的结果,这将导致在Limite更改时重新计算积分。

Dynamic[Integrate[1 - x^2, {x, 0, Limite}]]