我在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
命令无法解决问题。
有更好的方法来获得结果吗?
我是否正确使用动态命令?
谢谢!
答案 0 :(得分:1)
使用您的示例,使用符号上限执行一次“积分”命令。当该上限的值改变时,不重新计算积分。如果从迭代器规范中移动Dynamic []包装器并将其包装在Integrate命令周围,那么将获得所需的结果,这将导致在Limite更改时重新计算积分。
Dynamic[Integrate[1 - x^2, {x, 0, Limite}]]