Matlab绘制gif图像

Matlab绘制gif图像

方法一

clc;clear
h = animatedline('Color','r','LineWidth',3);
h2 = animatedline('Color','g','LineWidth',3);
h3 = animatedline('Color','b','LineWidth',3);
set(gca,'XTick',[0,0.005,0.01,0.015,0.02]);
axis([0,0.02,-1,1]);
xlabel('Time (s)');
ylabel('Three-Phase Currents (A)');
w=2*pi*50;
t = linspace(0,0.02,100);
ia = sin(w*t);
ib = sin(w*t-2*pi/3);
ic = sin(w*t+2*pi/3);
[A,map] = rgb2ind(frame2im(getframe),256);
imwrite(A,map,'ThreePhaseCurrent.gif','LoopCount',65535,'DelayTime',0);
for k = 1:length(t)
    addpoints(h,t(k),ia(k));
    addpoints(h2,t(k),ib(k));
    addpoints(h3,t(k),ic(k));
    drawnow
    [A,map] = rgb2ind(frame2im(getframe),256);
    imwrite(A,map,'ThreePhaseCurrent.gif','WriteMode','append','DelayTime',0);
end

请添加图片描述

方法二

clc;clear;close all;
pic_num = 1;
dx = 0.2;
x =  - 2 * pi : dx : 2 * pi;
y1 = sin(x);
y2 = sin(x -2/3*pi);
y3 = sin(x +2/3*pi);
y4 = y1+y2+y3;
for i = 1 : length(x) / 2+1
    plot(x + i * dx, y1, 'b',...
         x + i * dx, y2, 'g',...
         x + i * dx, y3, 'r',...
         x + i * dx, y4, 'k');


    box off;
    axis([0 2*pi -1 1]);
    %-----------------------No need modify-----------------------------------------------
    F=getframe(gcf);
    I=frame2im(F);
    [I,map]=rgb2ind(I,256);
    if pic_num == 1
        imwrite(I,map,'test2.gif','gif','Loopcount',inf,'DelayTime',0.2);
    else
        imwrite(I,map,'test2.gif','gif','WriteMode','append','DelayTime',0.2);
    end
    pic_num = pic_num + 1;
    %----------------------------------------------------------------------
end

请添加图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值