matlab中如何导出动画

来源:百度知道 编辑:UC知道 时间:2024/05/29 09:12:54
我用matlab创建了一个动画,请问如何导出动画可以在没有matlab的情况也能打开,比如说gif格式的等等,请高手指教

你看看下面这个例子可不可以模仿,两种格式。一种是jpg图片,一种是avi视频

clear;clc;
[x,y]=meshgrid(-8:.1:8);
for j=1:10
f=@(x,y)(sin(sqrt((11-j)*(x.^2+y.^2)))./sqrt((11-j)*(x.^2+y.^2)+eps));
z=f(x,y);
surf(x,y,z);shading interp;
M(j) = getframe;
if j==1
[I,map]=rgb2ind(M(j).cdata,256);
imwrite(I,map,'out.gif','DelayTime',.1)
else
imwrite(rgb2ind(M(j).cdata,map),map,'out.gif','WriteMode','append','DelayTime',.1)
end
end
movie2avi(M,'out.avi')

通常动画可以用视频avi格式导出,也可以导出为gif.  

基本流程是在动画循环中,将每个动画图画加入到avi文件中或写入GIF89a格式的Gif文件中.

close all; clear all;
%创建avi文件对象
aviobj = avifile('test.avi','compression','None');

%动画部分代码
t = linspace(0,2.5*pi,40);
fact = 10*sin(t);
fig=figure;
[x,y,z] =