精华内容
下载资源
问答
  • 使用Matlab制作动画-MATLAB_动画图_____作动态图.pdf Matlab制作动画的几种方法。
  • MATLAB制作动画视频

    千次阅读 2015-02-15 16:34:41
    “` x = -pi:.1:pi; y = sin(x); t = [1:-.1:-1, -1:.1:8]; for k = 1:size(t,2) plot(x,t(k)*sin(y)) axis ([-pi pi -10 10]) f(k) = getframe;...movie2avi(f,’filename.avi’);movie2avi(f,’
    x = -pi:.1:pi;
    y = sin(x);
    t = [1:-.1:-1, -1:.1:8];
    for k = 1:size(t,2)
        plot(x,t(k)*sin(y))
        axis ([-pi pi -10 10])
        f(k) = getframe;
    end
    movie2avi(f,'filename.avi');

    movie2avi(f,’filename.avi’);
    用来生成avi视频

    展开全文
  • 使用matlab制作动画

    千次阅读 2014-04-20 00:55:36
    严格来讲,movie函数才是真正地制作动画,他其实是将每幀图片保存下来,然后再进行播放。 example for movie: clear all clc clear all clc x=0:pi/50:2*pi; y=sin(x); plot(x,y) h=line(0,...

    转自http://blog.sciencenet.cn/blog-412191-598966.html

    制作PPT时经常需要使用一些动画,尤其是将程序的运行结果动态地表现出来,下面提供三种方法。
    1.使用comet、comet3函数
    comet与comet3函数其实反映的是运动轨迹图,comet3是三维图形。
    example for comet:
    clear all
    clc
    theta=0:2*pi/100:2*pi;
    r=10;
    x=r*cos(theta);
    y=r*sin(theta);
    comet(x,y)
    example for comet3:
    clear all
    clc
    t=-10*pi:pi/250:10*pi;
    comet3((cos(2*t).^2).*sin(t),(sin(2*t).^2).*cos(t),t);
    2.使用drawnow命令
    example for drawnow:
    clear all
    clc
    x=0:pi/50:2*pi;
    y=sin(x);
    plot(x,y)
    h=line(0,0,'color','r','marker','.','markersize',40);
    axesValue=axis;
    for jj=1:length(x)
      set(h,'xdata',x(jj),'ydata',y(jj));
        axis(axesValue);
        drawnow
        pause(0.1)
    end
    3.使用movie函数
    严格来讲,movie函数才是真正地制作动画,他其实是将每幀图片保存下来,然后再进行播放。
    example for movie:
    clear all
    clc
    clear all
    clc
    x=0:pi/50:2*pi;
    y=sin(x);
    plot(x,y)
    h=line(0,0,'color','r','marker','.','markersize',40);
    axesValue=axis;
    A(1:length(x))=struct('cdata',[],'colormap',[]);
    for jj=1:length(x)
        set(h,'xdata',x(jj),'ydata',y(jj));
        axis(axesValue);
        drawnow
        A(jj)=getframe;
    end
    movie(A,1)
    这样产生的动画只能在matlab中播放,为了生成能够在PPT中支持的格式,我们可将他转换为avi。
    clear all
    clc
    clear all
    clc
    x=0:pi/50:2*pi;
    y=sin(x);
    plot(x,y)
    h=line(0,0,'color','r','marker','.','markersize',40);
    axesValue=axis;
    A(1:length(x))=struct('cdata',[],'colormap',[]);
    for jj=1:length(x)
        set(h,'xdata',x(jj),'ydata',y(jj));
        axis(axesValue);
        drawnow
        A(jj)=getframe;
    end
    movie2avi(A,'ex_movie2avi','compression','none')
    以上生成的avi格式视频是没有经过压缩的,往往比较大,可根据实际需要选取合适的压缩方法。
    4.产生gif格式的图片
    以上三种方法都有局限性,即使是第三种转换为avi格式,在放映PPT时如果播放avi格式,会弹出警告,为了避免这种问题,最好使用图片格式插入,而目前最常见的动画图片格式就是gif,为此下面介绍如果利用matlab来生成gif格式的图片。
    example:
    clear all
    clc
    clear all
    clc
    x=0:pi/50:2*pi;
    y=sin(x);
    plot(x,y)
    h=line(0,0,'color','r','marker','.','markersize',40);
    axesValue=axis;
    A(1:length(x))=struct('cdata',[],'colormap',[]);
    for jj=1:length(x)
        set(h,'xdata',x(jj),'ydata',y(jj));
        axis(axesValue);
        drawnow
        f=getframe;
        f=frame2im(f);
        [X,map]=rgb2ind(f,256);
        if mod(jj,10)==1
            if jj==1
                imwrite(X,map,'ex_imwrite.gif');
            else
                imwrite(X,map,'ex_imwrite.gif','WriteMode','Append');
            end
        end
    end
    主要上面对imwrite的使用,只有将'WriteMode'设置为'Append'才可以制作为动画。
    参考文献
    1.matlab的help文档
    2.《matlab N个实用技巧》

    展开全文
  • 使用matlab制作一个n帧的gif动画 示意程序for i = 1:nFrames% draw stuffframe = getframe(gcf);img = frame2im(frame);[img,cmap] = rgb2ind(img,256);if i == 1imwrite(img,cmap,'animation.gif','gif','LoopCount...

    使用matlab制作一个n帧的gif动画 示意程序

    for i = 1:nFrames

    % draw stuff

    frame = getframe(gcf);

    img = frame2im(frame);

    [img,cmap] = rgb2ind(img,256);

    if i == 1

    imwrite(img,cmap,'animation.gif','gif','LoopCount',Inf,'DelayTime',1);

    else

    imwrite(img,cmap,'animation.gif','gif','WriteMode','append','DelayTime',1);

    end

    end

    Step1:捕获当前图窗并生成索引图像

    frame=getframe(gcf)是捕获当前图窗作为影片帧,frame是一个结构体,包含cdata和colormap

    cdata是一个存放真彩色图像数据的矩阵,大小为M*N*3

    当cdata存放真彩色图像时,colormap=[]

    img=frame2im(frame)是将捕获的影片帧转换为图像数据,img为真彩色图像,即从结构体frame中提取出的cdata

    因为 不支持将真彩图像写入GIF文件,所以应调用 rgb2ind, 将图像中的 RGB 真彩图像数据转换为索引图像

    [X,cmap] = rgb2ind(RGB,Q) 使用具有 Q 种量化颜色的最小方差量化法并加入抖动,将 RGB 图像转换为索引图像 X,关联颜色图为 cmap。

    索引图象X矩阵大小为M*N

    Step2:调用imwrite函数将索引图像写入gif文件中

    语法:imwrite(索引图象,索引图象颜色图,'gif文件名','gif',名称-值对组参数)

    名称-值对组参数

    指定可选的、以逗号分隔的 Name,Value 对组参数。Name 为参数名称,Value 为对应的值。Name 必须放在引号中。您可采用任意顺序指定多个名称-值对组参数

    以下是本程序使用到的名称-值对组参数

    'DelayTime' - 显示下一个图像之前的时滞

    显示下一个图像之前的时滞(秒),指定为逗号分隔的对组,包含 'DelayTime' 和范围 [0,655] 内的标量值。0 的值以硬件允许的最快速度显示图像

    'LoopCount' - 重复动画的次数

    重复动画的次数,指定为以逗号分隔的对组,包含 'LoopCount' 和 [0,65535] 范围内的整数或 Inf 值。如果指定 0,动画将播放一次。如果指定值 1,动画将播放两次,以此类推。Inf 的 LoopCount 值可使动画连续循环

    'WriteMode' - 写入模式

    写入模式,指定为逗号分隔的对组,包含 'WriteMode' 和 'overwrite' 或 'append'。在 overwrite 模式下,imwrite 覆盖现有文件 filename。在 append 模式下,imwrite 会向现有文件添加单个帧。

    相关知识:

    MATLAB有三种基本的图像类型:

    Truecolor(真彩色图像)——数码相机的格式,广泛用于计算机图形。

    Indexed (索引图象)和 scaled indexed (比例索引图象)——经常用来显示科学或者工程数据

    真彩色图像

    在这种格式的图里,每一个像素由三个数字表示:红,绿,蓝,整个图形由一个M-N-3的三维矩阵表达。图形显示函数和图形处理工具箱将这种矩阵视为一个truecolor图形

    矩阵值直接指定了每一个像素的颜色。通过这种表达方式你可以很大程度上控制颜色显示,但是对于工程应用来说它并不是最适合的一种图形格式。

    索引图像

    为了解决彩色图像消耗空间大的问题,一般应用于色彩构成比较简单的场景,索引图像包括一个数据矩阵X,一个颜色映像矩阵Map。像素颜色由数据矩阵X作为索引指向矩阵Map进行索引。

    展开全文
  • Matlab制作动画的方法应该很多, 今天使用animatedline制作二维心形图的动画,并将动画录制成avi格式的视频。心形图的曲线方程如下 Matlab的源码如下:t = linspace(0,10*pi,1000); x = 16*sin(t).^3; y = 13*cos...

    Matlab中制作动画的方法应该很多, 今天使用animatedline制作二维心形图的动画,并将动画录制成avi格式的视频。心形图的曲线方程如下

    equation?tex=%5Cbegin%7Bcases%7D+x%28t%29%3D16%5Csin%5E3t%5C%5C+y%28t%29%3D13%5Ccos+t-5%5Ccos2t-2%5Ccos3t+-%5Ccos4t+%5Cend%7Bcases%7D

    Matlab的源码如下:

    t = linspace(0,10*pi,1000);
    x = 16*sin(t).^3;
    y = 13*cos(t) - 5*cos(2*t) - 2*cos(3*t) - cos(4*t);
    
    h = animatedline('Color','red','Marker','.');
    axis([min(x), max(x), min(y), max(y)])
    axis off
    v = VideoWriter('heart.avi');
    open(v);
    for k = 1:length(t)
        addpoints(h,x(k),y(k));
        drawnow
        pause(0.01)
        if mod(k,5) == 0
            frame = getframe(gcf);
            writeVideo(v,frame);
        end
    end
    close(v);

    看看

    109cb478a9d3a1a2c5bd839cf9f172cb.png
    https://www.zhihu.com/video/1175908317611835392

    的效果的吧!

    展开全文
  • Matlab制作动画的方法应该很多, 今天使用animatedline制作二维心形图的动画,并将动画录制成avi格式的视频。心形图的曲线方程如下 Matlab的源码如下:t = linspace(0,10*pi,1000); x = 16*sin(t).^3; y = 13*cos...
  • MATLAB 制作gif动画

    2019-10-04 07:42:05
    1、已有一系列时序图片的基础上,可借助matlab制作gif图片,虽然比不上专业绘图制作的精良,好在比较方便。 2、假定时序图片的命名为:dens000000.tiff,dens000500,dens0010000,…… 3、效果展示 4、代码呈现 ...
  • Matlab动画的实现、制作和保存(转载Matlab技术论坛)本帖由Matlab技术论坛原创,原帖参见 http://www.matlabsky.com/thread-592-1-1.html光学夫朗和费衍射现象模拟Matlab源代码...
  • matlab动画制作详解

    万次阅读 2017-12-10 10:47:40
    有时,我们不仅需要绘图,还需要制作一些动态视频和动画,下面就来介绍一些matlab制作动画和视频常用的函数,并举出一些实例。 一.animatedline animatedline函数可以帮助对线条动画进行优化,允许用户在不重新...
  • 动画来源于https://zhuanlan.zhihu.com/p/86152912。我们不得不承认一个事实:千言万语比不过一个图表具有说服力一个动态的图表可以代替多个图表下面我们将从做一个简单的三角函数图形开始说起:这里假设您已具备...
  • 展开全部具体制作方法如下:1、首先,这里e5a48de588b662616964757a686964616f31333433626565举例代码如下:x=-8:0.5:8;[XX,YY]=meshgrid(x);r=sqrt(XX.^2+YY.^2)+eps;Z=sin(r)./r;surf(Z);生成了一幅静态的surf图片...
  • MATLAB制作简单动画的方法

    万次阅读 2019-01-31 10:40:35
    Matlab实现动画形式主要有两种,一种是电影形式:将所有动画预存再像电影般地播放;...%制作动画(这种方法很费内存) plot(1,ut(1),'b'); axis([0 1000 3.3 4.2])%定义x轴(从0到100)和y轴的范围(从3.3到4.2)...
  • 利用matlab制作光栅动画(莫尔条纹动画

    千次阅读 多人点赞 2019-12-05 22:05:15
    利用matlab制作光栅动画(莫尔条纹动画)1原理2 预期动画准备3 底片绘制4 光栅动画 光栅动画是一种利用一种透明光栅在底片上快速移动,使得看起来底片像是运动的一种动画方式。这种动画不依赖于电子媒体以及gif图,...
  • matlab制作圆摆线动画

    2020-08-11 19:53:38
    matlab制作圆摆线动画前言圆滚线螺旋线外圆摆线内圆摆线 前言 matlab是一款非常著名的科学计算和仿真软件,以其强大的数学库、数据可视化功能和扩展工具箱而闻名,这里利用matlab绘制了圆的四种摆线的形成动画,话不...
  • Matlab电影动画的初级制作

    千次阅读 2018-08-26 21:11:41
    Matlab电影动画的初级制作 ——与例程讲解 By 阿嚏artist **Matlab动画制作主要分为三类:** ①质点动画:最简单的动画产生方式,产生一个顺着曲线轨迹运动的质点来操作。 ②电影动画:首先保存一系列的...
  • MATLAB作图之制作动画:单摆运动仿真%制作动画%挂摆横梁plot([-0.2;0.2],[0;0],'color','y','linestyle','-',...'linewidth',10);%画初始位置的单摆g=0.98;%重力加速度,可以调节摆的摆速l=1;theta0=pi/4;x0=l*sin...
  • 以植物大战僵尸图片为例,首先找到背景图片、植物、僵尸;...cd D:\MATLAB\MATLAB\植物大战僵尸 %% 第一存储背景 %% 选择需要处理的图形文件 [filename,pathname,FilterIndex]=uigetfile(... {'*.*', '所有文件(*.*)-
  • matlab动画

    千次阅读 2017-01-10 22:31:07
    一般来说,matlab制作动画有四种方式。 第一 、以质点运动轨迹的方式显示 使用comet、comet3函数,前者是二维,后者是三维 comet(y)显示质点绕向量y,comet(x,y)显示质点绕向量y与x,comet(x,y,p),...
  • MATLAB动画制作及举例应用挺好用的,讲解了matlab动画的方法和生动的案例
  • matlab动画制作思路

    2020-11-29 10:02:56
    matlab动画采用每帧播放的策略 1、首先将不变的部分初始化为背景 plot(背景) backGround=gcf; 若背景会在后续发生变化,设个临时变量 picTemp=backGround; 2、变化修改的部分设置在循环里面 for。。。 ...
  • [转]matlab利用GUI制作动画(2007-11-23 23:46:19)标签:知识/探索matlabMATLAB中提供了一些动态显示图形的例子,例如vibes、truss等,但他们的程序结构都和由GUIDE产生的M文件的结构不同。truss中用while循环来更新...
  • Matlab动画制作

    2011-07-15 14:33:21
    Matlab能够对复杂对象进行建模,同时也提供了丰富的绘图方法。当绘图采用实时刷新的方式时,能实现动画的效果。下面的实例将展示如何将绘图得到的动画效果变成视频文件,为其他软件所使用。clear; clc; close all;% ...
  • 【 * 例 10.7.5 .3-1 】制作红色小球沿一条带封闭路径的下旋螺线运动的实时动画。(1)编写函数文件 anim_zzy1.m[anim_zzy1.m]function f=anim_zzy1(K,ki)% anim_zzy1.m 演示红色小球沿一条封闭螺线运动的实时动画% 仅...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 180
精华内容 72
关键字:

matlab制作动画

matlab 订阅