Search code examples
mathwolfram-mathematicamathematica-frontend

Dynamic is not working properly


I'm having some troubles with the Dynamic command in Mathematica, the next code shows an interactive graphic of the function f(x) = 1 - x^2. The graphic's title also shows the current area under the curve (definite integral) which is modified using the slider.

 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]

I would like to show the current area using this command:

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

but the result is not what i expected. Mathematica evaluates this like 0.529 - (0.529)^3 / 3 which is correct but i don't understand why it displays an expression instead of a single number. The //FullSimplify and//N commands just don't solve the problem.

Is there a better way to obtain the result?

Am I using the Dynamic command correctly?

Thanks!


Solution

  • With your example the Integrate command is performed once with a symbolic upper limit. When the value of that upper limit changes the integral is not recomputed. You will get your desired result if you move the Dynamic[] wrapper from the iterator specification and wrap it around the Integrate command, which will cause the integral to be recomputed whenever Limite changes.

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