我正在尝试使用半月形条形图制作一个matlab电影,但是我的轴在每次使用axis-cmd的时候都会不断变化。 代码示例: 我的输入信号u是不同频率区域的能量,每个时间步长有100个值。
fs = 22050
x_min = 0;
x_max = 22100;
y_min = 0;
y_max = 10^4;
for i = 1:length(u)
bar(fs/100:fs/100:fs,u(i,:));
set(gca,'YScale','log')
axis([x_min x_max y_min y_max])
drawnow
frame = getframe(gcf);
writeVideo(v,frame);
end
对于每个新的框架,轴不断变化,我在谷歌搜索问题时找不到任何答案。 非常感谢帮助。
答案 0 :(得分:2)
以下是我在R2015b中尝试过的一个工作示例(请注意我保存GIF动画而不是视频,以便在此处发布结果):
x = 1:10;
Y = exp(rand(30,numel(x))*8);
h = bar(x, Y(1,:));
set(gca, 'YScale','log', 'XLim',[0 11], 'YLim',[1 3000])
for i=1:size(Y,1)
set(h, 'YData',Y(i,:))
drawnow
% save animation to GIF file
[im,map] = rgb2ind(frame2im(getframe(gcf)), 256);
if i==1
imwrite(im, map, 'out.gif', 'gif', 'DelayTime',0.5, 'LoopCount',Inf);
else
imwrite(im, map, 'out.gif', 'gif', 'DelayTime',0.5, 'WriteMode','append');
end
end