我想在matlab上制作一个自我更新的剧情。例如,在两端之间振动的弦。我在文档中找到的所有基本动画函数都完成了同样的事情,主要是为不断发展的绘图制作动画。即,功能保持不变,但绘制的点数随时间增加(或减少)。例如这个脚本:
h = animatedline;
axis([0,4*pi,-1,1])
x = linspace(0,4*pi,1000);
y = sin(x);
for k = 1:length(x)
addpoints(h,x(k),y(k));
drawnow
end
跟踪一个正弦函数,好像一只看不见的手正在绘制它。我想做的是为整个函数设置动画,但使用不同的参数,如相位或幅度。我尝试使用以下内容进行修改:
x = linspace(0,4*pi,1000);
;
axis([0,4*pi,-1,1])
for k = 1:10
h = animatedline(x,sin(k*x))
drawnow
end
这有点接近我的需要,但功能是逐步附加的,而不是替换。这导致总共绘制了10个函数而不是动画。
有谁知道我需要做什么?如果是这样,怎么能实现呢?
答案 0 :(得分:2)
这个怎么样:
h = animatedline;
axis([0,4*pi,-1,1]);
x = linspace(0,4*pi,1000);
for k = 1:0.01:10
y = sin(k*x);
clearpoints(h);
addpoints(h,x,y);
drawnow
end