答案 0 :(得分:1)
您可以在以下步骤中使用VideoWriter对象创建绘图视频:
1)创建并打开视频对象(同时指定视频名称)
vidObj = VideoWriter('SIN_X_COS_X.avi');
2)在绘图循环中,使用getframe函数调用plot
之后获取当前帧
currFrame = getframe;
3)在视频文件中写下curent帧
writeVideo(vidObj,currFrame);
4)在绘图循环结束时关闭视频对象
接近(vidObj);
关于您所指的答案的代码,您只需在步骤说明中提到的位置添加上述语句。
在下文中,您可以找到所提议方法的可能实现。
% Generate some data
t=0:.01:2*pi;
sin_x=sin(t);
cos_x=cos(t);
% Open a figure and crate the axes
figure
axes;
%
% STEP 1:
%
% Create and open the video object
vidObj = VideoWriter('SIN_X_COS_X.avi');
open(vidObj);
%
% Loop over the data to create the video
for i=1:length(t)
% Plot the data
h(1)=plot(t(i),sin_x(i),'o','markerfacecolor','r','markersize',5);
hold on
plot(t(1:i),sin_x(1:i),'r')
plot(t(1:i),cos_x(1:i),'b')
h(2)=plot(t(i),cos_x(i),'o','markerfacecolor','b','markersize',5);
set(gca,'xlim',[0 2*pi],'ylim',[-1.3 1.3])
%
% STEP 2
%
% Get the current frame
currFrame = getframe;
%
% STEP 3
%
% Write the current frame
writeVideo(vidObj,currFrame);
%
delete(h)
end
%
% STEP 4
%
% Close (and save) the video object
close(vidObj);
希望这有帮助,
Qapla'