• 締切済み

WebMathematicaでアニメーションにするやり方

二次関数の平行移動の所をMathematicaでアニメーションをして思うように動いたのですが、WebMathematicaに載せると何時間も作業しているのに静止画になってしまいます。実際にMathematicaで使ったやつは下のプログラムです。これをどうにかWebMathematicaでアニメーションにするためにはどうすればよいでしょうか?教えて下さい! mp[b_, c_, d_] := Module[{a = b, p = c, q = d, k, l}, g[x_, p_, q_] := a(x - p)^2 + q;        f[x_] := a x^2; If[p >0, k = 0.1, k = -0.1]; If[q >0, l = 0.1, l = -0.1] Table[Plot[{f[x], g[x, i, 0]}, {x, -5, 5}, PlotStyle -> RGBColor[1, 0, 0], PlotRange -> {-5, 5}], {i, 0, p, k}]; Table[Plot[{f[x], g[x, p, j]}, {x, -5, 5}, PlotStyle -> RGBColor[1, 0,0], PlotRange -> {-5, 5}], {j, 0, q, l}]; Join[{i, 0, p, k}, {j, 0, q, l}]; ];

みんなの回答

  • old_sho
  • ベストアンサー率38% (20/52)
回答No.3

余分な事を書いたようです。 この「教えてgoo」のスタイルに反すると怒られそうですね。 その部分は単にそのままMathematicaからコピーしたもので、直接にペーストして使えるかと思っただけです。 函数StringForm[]の使用例です。 Mathematicaの式の表現は、我々が普段書くのとは異なりますから、子供に見せる式としては、stringsにして表示したほうがよいのでは、という事でした。

  • old_sho
  • ベストアンサー率38% (20/52)
回答No.2

二次式の平方完成をお尋ねの方と思われますので、ここで。 このようなプログラムをお書きなので、改めて「回答」すること等ないのですが、平方完成「式」は文字列で返すとことにすれば、 ax^2+bx+cの a,b,cに対して、 ?!?(nijiForm[a_, b_, c_] := StringForm[?*"?"?<y=``(x+``?!?(?()?^2?)?)+``?>?"", a, b/?((2 a)?), c - b^2/?((4 a)?)]?) (これは nijiForm[a_,b_,c_]:=StringForm["y=``(x+``)^2+``",a,b/(2a),c-b^2/(4a)] のことです。) といったやり方も一つの手ではないかと思います。(これは不充分なものですが)

eva-at-621
質問者

お礼

返事遅くなってしまいすみません。わざわざ回答していただきありがとうございます。Mathematica初心者なので、またお聞きしたいのですが””?!という記号などのところに数字を入れればよいのでしょうか?何度もすみません。

  • old_sho
  • ベストアンサー率38% (20/52)
回答No.1

WebMathematicaの事は分かりませんが、このままだと、Mathematicaにおいても、警告が出るでしょう。函数f[x]のところが問題です。g[x]の方は、先にTableの方で評価されるので問題ないのですが、f[x]は、Plot出来ないとなっているはずです。それは、係数aがあるからです。f[x]ではなく、直接、b x^2にするとよいのではないでしょうか。 ご参考までに。

eva-at-621
質問者

お礼

わざわざ回答していただきありがとうございます。勉強になりました!本当にありがとうございました。

関連するQ&A