wxmaxima中的动画

Animation in wxmaxima

如何在wxmaxima中实现动画?假设我有一个函数 f(x) = x^a 并且我想以 gif 动画的形式绘制一个带有可变参数 a 的图形。文档说:

draw(
delay     = 100,
file_name = "zzz",
terminal  = 'animated_gif,
gr2d(explicit(x^2,x,-1,1)),
gr2d(explicit(x^3,x,-1,1)),
gr2d(explicit(x^4,x,-1,1)));

会有三帧延迟1秒(100延迟=1秒)。在 Maxima 中,您可以使用 'for' 循环。如何在draw()环境中正确插入for循环,使循环计数器调整帧数,绘制的函数取决于计数器?

我认为 draw 无法识别 for 循环。尝试通过 map and/or makelist 建立帧列表。将任何其他参数附加到帧列表,然后说 apply('draw, mylist)。类似于:

myfunctions: makelist (x^i, i, 1, n);
myframes: map (lambda ([e], gr2d (explicit (e, x, -1, 1))), myfunctions);
mylist: append ([delay = 100, file_name = "zzz", terminal = 'animated_gif], myframes);
apply ('draw, mylist);

其中 n 是您想要的帧数。