Matlab在生成的图片figure中添加一个矩形,并让矩形移动起来

如图所示,在生成的图片上添加一个矩形,并让其向右移动。矩形代表一个window,在这个window里计算各个点的压力的相关性(correlation coefficient)。

我的做法是用for循环,在一个循环内添加矩形,让其显示一段时间,随后删除矩形。下一个循环,设置矩形的位置向右移动一小段距离,同样显示一段时间,随后删除矩形。

代码如下:

 1 v2 = VideoWriter('dynamic.avi'); % write movie at every 300 steps
 2 open(v2);
 3 
 4 figure(10)
 5 plot(time,P(:,6:10));
 6 axis([0 15 0.66 0.72]);
 7 grid on;
 8 %xlabel('t/\DeltaT');
 9 xlabel('t');
10 ylabel('P_{tap}');
11 legend('P_{6}','P_{7}','P_{8}','P_{9}','P_{10}');
12 
13 %% create a rectangle as window in the pressure figure
14 t = linspace(0.13,0.8969,1910);
15 for i = 1:length(t)
16     rectangle = annotation(figure(10),'rectangle',[t(i) 0.16 0.0081 0.7],...
17                            'Color',[1 0 0],...
18                            'LineWidth',1);
19     pause(0.0122);
20 %   create movie .avi
21     frame = getframe(gcf);
22     writeVideo(v2,frame);
23     
24     delete(rectangle);
25 end
26 close(v2);

 

posted @ 2020-09-27 06:37  cfdchen  阅读(2109)  评论(0编辑  收藏  举报