m0_61503242 2021-09-09 21:04 采纳率: 55.6%
浏览 45
已结题

请问用matlab怎么生成gif文件?

img


请问用matlab怎么生成gif文件?需要改代码吗?还是直接在某个地方点保存的时候可以导出为gif文件呢?

  • 写回答

1条回答 默认 最新

  • joel_1993 2021-09-09 21:37
    关注

    每次run的时候,可以用getframe来实现

    omega = 2*pi;
    t = linspace(0,4,1001);
    x = 2 + cos(omega*t);
    y = 2 + sin(omega*t);
    dt = min(diff(t));
    t0 = -t;
    z = -t;
    % 保存的文件名
    filename = 'myfig.gif';
    figure(1)
    for i = 1:1:120
        t0 = t0 - 5*dt;
        x = 2 + cos(omega*t0);
        y = 2 + sin(omega*t0);
        p = [y(end),z(end),x(end)];
        p1 = [y(end),z(end),0];
        p2 = [0,z(end),x(end)];
        plot3(y, z, x,  'g-', 'linewidth',2);
        hold on
        fill3([0,3,3,0],[-4,-4,-4,-4],[0,0,3,3],'c','facealpha',0.2,'edgecolor','k')
        plot3(y, z, zeros(size(x)),  'b-', 'linewidth',2);
        plot3(zeros(size(x)),z, x,  'r-', 'linewidth',2);
        plot3([p1(1),p(1)],[p1(2),p(2)],[p1(3),p(3)],'bo--','markersize',10,'markerfacecolor','b', 'linewidth',2)
        plot3([p2(1),p(1)],[p2(2),p(2)],[p2(3),p(3)], 'ro--','markersize',10,'markerfacecolor','r', 'linewidth',2)
        axis([0 3 -4 0 0 3])
        view([50.4,20.4])
        xlabel('x'), ylabel('y'),zlabel('z')
        grid on
        axis equal
       frame = getframe(gcf);
       im = frame2im(frame);
       [imind,cm] = rgb2ind(im,256);
       if i == 1
           imwrite(imind,cm,filename,'gif', 'Loopcount',inf,'DelayTime',0.05);
       else
           imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',0.05);
       end
        pause(0.0001)
        hold off
    end
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月2日
  • 已采纳回答 9月24日
  • 创建了问题 9月9日

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog