精华内容
下载资源
问答
  • 2022-05-25 17:22:49

    如何使用Matlab绘制动图

    采用Matlab制作动图一般只需要两步:

    • 生成图片;
    • 图片播放。

    1.生成图片

      生成图片一般采用print函数。具体的使用方式可以参考print调用格式

    print(filename,formattype)
    

    2.图片播放

      主要采用imwrite函数把图片写入到gif动图里面。
    具体使用方法参考imwrite调用格式

    imwrite(A,filename)
    imwrite(A,map,filename)
    
    clc
    clear
    close all
    x = 1:0.1:10;
    figure(1)
    grid minor
    hold on
    title('y = sin(x)')
    xlabel('x');
    ylabel('y')
    %% 生成图片
    for i = 1:length(x)
        y(i) = sin(x(i));
        plot(x(1:i),y(1:i),'r--','linewidth',1.2);
        hold on
        drawnow
        print(['E:\picture',num2str(i)],'-dpng');   %保存图片
    end
    %% 图片播放
    GifName = 'example.gif';  %动图名字
    delay = 0.1;              %图片之间延迟
    for i = 1:length(x)       
        A = imread(['E:\picture',num2str(i),'.png']); %读取图片
        [X, map] = rgb2ind(A, 256);            %彩色图像转化成索引图像
        if i == 1
            imwrite(X, map, GifName, 'gif', 'LoopCount', inf, 'DelayTime', delay)
        else
            imwrite(X, map, GifName, 'gif', 'WriteMode', 'append', 'DelayTime', delay)
            end
    end
        
    
    
    更多相关内容
  • MATLAB 动图绘制、保存

    2021-04-22 20:39:04
    动图有gif格式和视频的avi格式。1、sin(x)动图clear allh = animatedline;%动画线axis([0 4*pi -1 1])box onx = linspace(0,4*pi,200);for k = 1:length(x)y = sin(x(k));addpoints(h,x(k),y);%将数据添加到动画线中...

    动图有gif格式和视频的avi格式。

    1、sin(x)动图

    clear all

    h = animatedline;%动画线

    axis([0 4*pi -1 1])

    box on

    x = linspace(0,4*pi,200);

    for k = 1:length(x)

    y = sin(x(k));

    addpoints(h,x(k),y);%将数据添加到动画线中

    drawnow%画出动画线

    f=getframe(gcf);

    imind=frame2im(f);

    [imind,cm] = rgb2ind(imind,256);

    if k == 1;

    imwrite(imind,cm,'test.gif','GIF', 'Loopcount',inf,'DelayTime',1);

    else

    imwrite(imind,cm,'test.gif','GIF','WriteMode','append','DelayTime',1);

    end

    end

    eeef97888097ddd6d3fea6d3a46858c5f76.jpg

    2、

    close all; clear all;

    %创建avi文件对象

    aviobj = VideoWriter('test.avi','Uncompressed AVI');

    open(aviobj)

    %动画部分代码

    t = linspace(0,2.5*pi,40);

    fact = 10*sin(t);

    fig=figure;

    [x,y,z] = peaks;

    for k=1:length(fact)

    h = surf(x,y,fact(k)*z);

    axis([-3 3 -3 3 -80 80])

    axis off

    caxis([-90 90])

    %获取当前画面

    F = getframe(fig);

    %加入avi对象中

    writeVideo(aviobj,F);

    %转成gif图片,只能用256色

    im = frame2im(F);

    [I,map] = rgb2ind(im,256);

    %写入 GIF89a 格式文件

    if k == 1;

    imwrite(I,map,'test.gif','GIF', 'Loopcount',inf,'DelayTime',0.1);

    else

    imwrite(I,map,'test.gif','GIF','WriteMode','append','DelayTime',0.1);

    end

    end

    close(fig);

    %关闭avi对象

    close(aviobj);

    0fa0da8ac6d4cf730f76746dcc7719f9b93.jpg

    3、

    clear all

    close all

    mov=VideoWriter('mult_1.avi');

    open(mov);

    N=50;

    om=0.1;

    X = linspace(0,12.4,N);

    Y = 0*X;

    Z2= 0*X;

    for it=1:100

    Z = cos(X-it*om);

    Y2= cos(X-it*om);

    stem3(X,Y,Z,'r','fill')

    hold on

    stem3(X,Y2,Z2,'k','fill')

    hold on;

    line(X,Y,Z2);

    for ix=1:N

    hold on;

    plot([X(ix) X(ix)],[0 Y2(ix)],'k');

    end;

    hold off

    view(-25,30);

    xlim([X(1) X(end)]);

    ylim([-1 1])

    zlim([-1 1])

    set(gcf,'Color',[1 1 1],'nextplot','replacechildren', 'Visible','off')

    axis off

    FF=getframe(gcf);

    % With "VideoWriter" use "writevideo" to add frames to the video

    writeVideo(mov,FF);

    im = frame2im(FF);

    [I,map] = rgb2ind(im,256);

    %写入 GIF89a 格式文件

    if it == 1;

    imwrite(I,map,'test.gif','GIF', 'Loopcount',inf,'DelayTime',0.1);

    else

    imwrite(I,map,'test.gif','GIF','WriteMode','append','DelayTime',0.1);

    end

    end;

    % Close the video file

    close(mov);

    8f64a1d746faa28d50de3cafb48325f2c81.jpg

    展开全文
  • MATLAB 一个参数一帧图 所有帧组成动图 动图制作 gif
  • MATLAB制作动图并保存

    千次阅读 2021-04-14 14:18:59
    制作PPT时常常会使用到动图,自己录屏制作实在是太麻烦,就琢磨了一下MATLAB制作动图的方法,网上找的教程学习了一下。 clc;clear; close all; h = animatedline('color','y','linewidth',2); % 添加动画线、黄色、...

    目的

    制作PPT时常常会使用到动图,自己录屏制作实在是太麻烦,就琢磨了一下MATLAB制作动图的方法,网上找的教程学习了一下。

    一通百通,只简单做了个正弦曲线的动图

    过程

    存成的曲线如下图所示:
    在这里插入图片描述

    程序如下

    clc;clear;
    close all;
    
    h = animatedline('color','y','linewidth',2);       % 添加动画线、黄色、2线宽
    axis([0 4*pi -1 1])                                % 定格坐标
    box on                                             % 添加图框、可加可不佳
    x = linspace(0,4*pi,200);                          % 生成横坐标
     
    for i = 1:length(x)
        y = sin(x(i));
        addpoints(h,x(i),y);                           % 将数据添加到动画线中
        drawnow limitrate                              % 画出动画线
        f = getframe(gcf);                             % 抓取当前图框
        imind = frame2im(f);                           % 将帧频转成索引图像
        [imind,map0] = rgb2ind(imind,256);             % 将rgb图像转存为索引图象
        if i == 1
            imwrite(imind,map0,'mygif.gif','GIF', 'Loopcount',inf,'DelayTime',0.01);   % 建立第一幅图像
        else
            imwrite(imind,map0,'mygif.gif','GIF','WriteMode','append','DelayTime',0.01);  % 将后续图像添加到前动图中
        end 
    end
    

    随后再学习一下视频制作的方法。

    展开全文
  • Matlab 绘制动图 clc;clear; pixel=512; mask=ones(pixel); step=4; start=0; number=360/step; %% 批量读取图片 for iter=1:number temp=imread(['E:\User\Desktop\Experiments\polarization\',num2str(start+step...

    Matlab 绘制动图

    clc;clear;
    pixel=512;
    mask=ones(pixel);
    step=4;
    start=0;
    number=360/step;
    %% 批量读取图片
    for iter=1:number
        temp=imread(['E:\User\Desktop\Experiments\polarization\',num2str(start+step*(iter-1)),'.bmp']);
        [row,line]=size(temp);
        mask=padarray(mask,[row,line]/2-size(mask)/2,0,'both');
        temp=reshape(temp(mask==1),[pixel,pixel]);
        temp=uint8((imresize(temp,1)));
        a(:,:,iter)=temp; 	%待绘制图片
    end
    %% 绘制动图
    pic_num = 1;
    delay=0.02; % 两张图片之间的时间间隔
    cmap=parula(256);% 采用何种色图
    for i=1:number
        figure(1),imshow(a(:,:,i),cmap),title(['Angle: ',num2str((i-1)*step+start),' degree']),drawnow;
        F=getframe(gcf);
        I=frame2im(F);
        [I,map]=rgb2ind(I,256);
    
        if pic_num == 1
        imwrite(I,map,'test.gif','gif','Loopcount',inf,'DelayTime',delay);
    
        else
        imwrite(I,map,'test.gif','gif','WriteMode','append','DelayTime',delay);
    
        end
    
        pic_num = pic_num + 1;
    end
    close all;
    
    展开全文
  • 使用MATLAB做简易的动态图,适合小白入门做图形动画,二维三维都可以
  • Matlab 图像转换为视频或者GIF动图输出
  • matlab 保存动图 GIF

    千次阅读 2021-05-27 21:49:02
    在Mathematica当中,有Export函数可以很方便地将你绘出的多张图片合成为一张gif动图,在Matlab当中有没有类似的函数呢?当然,没有用起来那么方便的。但是Matlab可以使用imwrite函数进行gif的复写叠加形成gif动图,...
  • 几家公会的放弃这种看似最规整的跑法,选择离大团30码 参杂灵性跑位 是很有道理的 作为一个 闲的没事的 圣光数学家,昨晚也观摩了下M鸡蛋的炫酷技能,引用早上看到一篇帖子的模型,用Matlab画了个动图版本,...
  • matlab之保存gif动图

    千次阅读 2021-01-26 22:41:03
    目录 一、粗略版 二、详解版 1、绘制 2、捕获​值递增时的一系列绘图。 ...3、将多个系列的图像显示在一个图窗中 ...4、将九个图像保存到一个 GIF 文件中 ...axis tight manual % this ensures that get...
  • matlab生成gif动图

    万次阅读 多人点赞 2019-01-12 17:54:13
    时,Matlab程序不会马上把图像画到 figure 上,这时,要想实时看到图像的每一步变化情况,需要使用这个语句。我们需要实时显示,因此需要使用这个函数。 2、 getframe :捕获坐标区或图窗作为影片帧。 3、 gcf :...
  • Matlab绘制动态GIF图

    千次阅读 2022-01-15 13:34:49
    % 多张图组成动图 for i = [500,1000,2000,5000,10000];%i依次等于500,1000,2000,5000,10000 x1 = linspace(0,1,1000);%生成一系列的点 y1 = (1-x1.^2).^0.5; x2 = rand([1,i]);%生成点 y2 = rand([1,i...
  • Matlab保存动图gif

    千次阅读 2019-02-20 11:04:14
    保存效果: function MakeGif(filename,i) f = getframe(gcf); imind = frame2im(f); [imind,cm] = rgb2ind(imind,256); if i==1 imwrite(imind,cm,filename,'gif',... ...
  • matlab保存gif图片示例

    2017-05-27 15:02:29
    程序为一个桌子逐渐起来的程序 matlab保存gif图片示例
  • 其中的图片需要自己加,因为图片太大了,不好上传。
  • MATLAB制作动图或视频

    2021-04-18 15:09:34
    (来点有用的)MATLAB制作动图或视频主要函数介绍情况一:对数据进行操作情况二:对界面进行操作其他by HPC_ZY在CSDN发现一个类似的居然要VIP才能查看,顿时有点无语,所以自己做了一个。如题,MATLAB制作动图或视频。...
  • 如何将MATLAB绘制的图像保存为动图

    万次阅读 2019-01-03 22:57:15
    方法,我已经写成了一个函数SAVEGIF 用法和说明 savegif 将位于for循环中的figure动画转化为gif文件 用法:savegif必须在for循环中输入savegif函数,默认文件名为‘untitledgif.gif’  savegif('filenam...
  • Matlab 绘制动态图

    千次阅读 2021-05-20 10:25:07
    下面将本人利用MATLAB绘制GIF动图的方法分享给大家。 前提:已经利用MATLAB完成了图片的绘制,保存有变量数据 具体程序如下所示: figure(1) clf; box on; %坐标轴信息 xlabel({'时间(s)'},'FontSize',40) ylabel...
  • ​​有很多时候我们需要在PPT中展示一个动态变化的图像,这就需要不断刷新绘图以及保存独立的动画或者视频,matlab对于这一功能有非常完善的支持。查文档就有还非要写报告,我摸鱼的时间也很宝贵的好么,MDZZ。​​...
  • MATLAB源程序代码分享:MATLAB创建无限循环的GIF动图
  • 使用matlab制作gif动图

    千次阅读 2022-01-05 11:03:32
    工具:Matlab %% Define waveform properties f = 1; % Frequency (Hz) t = 0:.001:2; % Eval time (s) Y_Fourier = zeros(size(t)); % Preallocate %% Generate the frames for k = 1:20; Y_Fourier = (4/pi)*...
  • MATLAB生成gif动图

    2021-12-13 10:07:09
    使用matlab实现gif动图的功能
  • 将源图形的一个轴上显示的可拖动矩形的内容显示到目标图形的一个轴上。 目标轴的屏幕大小与矩形大小的差异表示源矩形的内容将出现在目标图形中的放大倍数。 至少向后兼容 R12.1。 不过在R14x下更加流畅。...
  • MATLAB 作动态图

    千次阅读 2020-08-17 21:07:17
    这里写自定义目录标题欢迎使用Markdown编辑器生成...首先打开MATLAB,生成一组数据。 以下是笔者在练习数学建模中的导弹追踪模型所写的一段代码 由于这段代码涉及的其他知识点较多,也不属于这篇文章的重点,有兴趣的读
  • MATLAB的animatedline函数绘制GIF动图

    千次阅读 2020-06-08 00:44:14
    但是我的轨迹并没有画出来,如图: 只有一个点在动,没有轨迹 不清楚这是我的代码的原因,还是因为: 我的版本是2016b,MATLAB也有警告: 同样出现上述问题的同学,可以尝试使用animatedline函数画图 animatedline...
  • MATLAB 制作gif动态图

    万次阅读 多人点赞 2017-12-20 22:26:25
    MATLAB 绘制gif动态图的基本思想就是,将一张张的静态图组合成一张能动的gif图片,并保存到相应的位置。 那么,要想制作一张动态图,首先要有若干个静态图,并且他们的索引值是连续的。下面先说一下matlab关于静态...
  • 利用matlab相控阵工具,对相控阵进行仿真,有三个实用例子。
  • 可以再matlab软件编辑器上运行的2ask信号调制波形图,还有波形图
  • MATLAB制作动图或视频。主要讲解两种不同的场合:1)有准备好的图像数据,将其制作成动图或视频;2)把MATLAB plot或imshow的结果保存为动图或视频

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,305
精华内容 522
关键字:

matlab动图

matlab 订阅