id:hig3:20111105:1320459830
Manipulate 内に Animate を置くことによる動的更新の警告とそれを避ける方法 http://d.hatena.ne.jp/hig3/20111105/1320459830
でも同じようなことで悩んでいたような気がするが, 定義した関数をAnimateしたものをCDFにExportしようとするとうまくいかない. グラフが空白になってしまう(エラーは出ない. Sqrt[-1]をプロットしたときと同じように). 理由は DynamicModule のドキュメントに書いてある(気がする)
v=1/2; h[z_] := 0 h[z_] := Sin[z] /; z >= 0 Animate[ Plot[h[x + v t] - h[-(x - v t)], {x, -10, 10},PlotRange -> {{-10, 10}, {-2, 2}}], {t, -20,80} ]
だったら,
speed=2; (*時間の範囲に依存して調整?*) Manipulate[ DynamicModule[ {v = 1/2}, Plot[h[x + v t] - h[-(x - v t)], {x, -10, 10},PlotRange -> {{-10, 10}, {-2, 2}}], Initialization :> (h[z_] := 0; h[z_] := Sin[z] /; z >= 0) ], {t, -20,80, (Animator[#1, #2, speed]) &} ]
と書き替えるとCDFにしても動くように見える.
こうやって作った進行波のデモ.
http://www.a.math.ryukoku.ac.jp/~hig/course/mathphb_2012/standing_wave.pdf