0

MathematicaのDynamicコマンドで問題が発生しています。次のコードは関数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 を正しいと評価しますが、なぜそれが単一の数値の代わりに式を表示するのか理解できません。//FullSimplifyandコマンドは//N問題を解決しません。

結果を得るより良い方法はありますか?

動的コマンドを正しく使用していますか?

ありがとう!

4

1 に答える 1

1

あなたの例では、Integrateコマンドはシンボリック上限で1回実行されます。その上限の値が変更されると、積分は再計算されません。Dynamic[] ラッパーを反復子仕様から移動し、Integrate コマンドをラップすると、必要な結果が得られます。これにより、Limite が変更されるたびに積分が再計算されます。

Dynamic[Integrate[1 - x^2, {x, 0, Limite}]]
于 2012-06-20T12:20:36.780 に答える