matlab 如何输出gif,求教:Matlab输出gif文件

%horizontal proflie

load mycolor3

for k=1:size(u,4);

fig1=figure(k);

for i=1:13:size(u,3);

surf(x',y',-i*dz*ones(size(x)),u_bc(:,:,i,k)'/U0,'linestyle','none');

hold on;

colormap(mycolor3);colorbar;

caxis([-0.5 0.5]);

%         hold on

%         quiver3(x(1:5:end,1:5:end)',y(1:5:end,1:5:end)',-i*dz*ones(size(x(1:5:end,1:5:end))),...

%         u(1:5:end,1:5:end,i,k)',v(1:5:end,1:5:end,i,k)',zeros(size(x(1:5:end,1:5:end))),1,'k');

end

clear i

%地形

hold on

surf(x(50:130,50:130)',y(50:130,50:130)',-depth(50:130,50:130)');

title([num2str(k) ' T']);

%set

xlabel('x(m)');ylabel('y(m)');zlabel('z(m)');

xlim([0 5]);ylim([0 5]);

zlim([-0.2 0]);

%视角(旋转,俯仰)

view(-30,10);

set(fig1,'position',[100 70 700 900]);%调整图片长宽比

set(fig1,'paperpositionmode','auto');%保持上述比例输出

%     frame1(k)=getframe(fig1);

%     close;

end

% writegif(['F:\海洋科学资料\内波\内潮三维生成\model\IT3d_u_orlanski_0.' num2str(loadnum) '.gif'],frame1,0.5);

function res=writegif(name,frames,dt)

%写gif文件

%writegif('name.gif',frame,每一帧的播放速度(越小越快));

nframe = length(frames);

for i=1:nframe

[image,map] = frame2im(frames(i));

[im,map2]   =  rgb2ind(image,128);

if i==1

imwrite(im,map2,name,'GIF','WriteMode','overwrite','DelayTime',dt,'LoopCount',inf);

else

imwrite(im,map2,name,'WriteMode','append','DelayTime',dt); %,'LoopCount',inf);

end

end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值