matlab 和 Octave 中 gif 图的绘制 - (包含正弦函数的绘制测试)

在使用 matlab 或者 octave 时,有时会需要绘制动图(.gif)并保存,这里对动图(其他图片格式,同理)进行阐述。

有的时候,gif 有助于对问题的理解,下面就介绍一下如何利用Matlab来绘制gif图。主要是源代码及结果展示,代码里面有注释,根据自己的需求,进行修改即可。

一、 绘制 正弦函数(y = sin(x))的增长过程

clc, clear, close all;
f_num = 1;  % 帧数索引
figure;

for k = 1 : 1 : 100 % 选取的动态参数
    x = -pi : 0.1 : pi*k;
    y = sin(x);
    % 绘制正弦函数
    axis([-pi 100*pi -1 1]);
    plot(y);
    title('y = sin(x)');
    
    F = getframe(gcf);     % 截取帧
    I = frame2im(F);       % 从单个影片帧F返回真色彩(RGB)图像
    
    [I, map] = rgb2ind(I); % 使用具有256种量化银色的最小方差量化法并加入抖动,将RGB图像转换成索引图像I,关联颜色图为map。
    
    if f_num == 1          % 如果不存在该图片,则创建
        imwrite(I, map, 'sinFunc.gif', 'gif', 'Loopcount', inf, 'DelayTime', 0.3);
    else                   % 如果已经存在该gif图,则写入数据(此时使用 append 追加模式)
        imwrite(I, map, 'sinFunc.gif', 'gif', 'WriteMode', 'append', 'DelayTime', 0.3);
    end
    
    f_num = f_num + 1;  % 索引帧数+1
end

结果:
在这里插入图片描述

二 表现绘图过程,即图形的增长过程

参考内容:
Matlab绘制动态 .gif 图

注:

以下程序均需另存为 m 文件运行,运行后在Matlab的当前路径下,可以看到相应的 gif 文件。
有的 gif 图片是由多个 gif 图片拼接而成的,拼接时所用的软件是 ulead gif animator, 可自行搜索下载。<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值