-
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
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);
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);
-
MATLAB 一个参数一帧图 所有帧组成动图 动图制作 gif
2019-07-10 21:13:56MATLAB 一个参数一帧图 所有帧组成动图 动图制作 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 绘制动图 (本人自用)
2021-12-11 21:24:32Matlab 绘制动图 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做简易的动态图
2019-02-09 11:52:52使用MATLAB做简易的动态图,适合小白入门做图形动画,二维三维都可以 -
Matlab 导出视频和GIF动图
2022-06-15 17:31:41将Matlab 图像转换为视频或者GIF动图输出 -
matlab 保存动图 GIF
2021-05-27 21:49:02在Mathematica当中,有Export函数可以很方便地将你绘出的多张图片合成为一张gif动图,在Matlab当中有没有类似的函数呢?当然,没有用起来那么方便的。但是Matlab可以使用imwrite函数进行gif的复写叠加形成gif动图,... -
魔兽世界M基尔加丹阿基米德螺旋线之Matlab动图!国服加油
2021-04-22 04:41:41几家公会的放弃这种看似最规整的跑法,选择离大团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代码写的玫瑰动图,核心代码
2012-08-29 11:25:28其中的图片需要自己加,因为图片太大了,不好上传。 -
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... -
Matlab刷新图像及保存.gif动图的简单方法
2021-04-18 05:26:47有很多时候我们需要在PPT中展示一个动态变化的图像,这就需要不断刷新绘图以及保存独立的动画或者视频,matlab对于这一功能有非常完善的支持。查文档就有还非要写报告,我摸鱼的时间也很宝贵的好么,MDZZ。... -
MATLAB源程序代码分享:MATLAB创建无限循环的GIF动图
2019-09-11 23:11:49MATLAB源程序代码分享: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动图的功能 -
magnifyrecttofig:将拖动矩形的内容放大到其他图形。-matlab开发
2021-05-31 04:18:54将源图形的一个轴上显示的可拖动矩形的内容显示到目标图形的一个轴上。 目标轴的屏幕大小与矩形大小的差异表示源矩形的内容将出现在目标图形中的放大倍数。 至少向后兼容 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:25MATLAB 绘制gif动态图的基本思想就是,将一张张的静态图组合成一张能动的gif图片,并保存到相应的位置。 那么,要想制作一张动态图,首先要有若干个静态图,并且他们的索引值是连续的。下面先说一下matlab关于静态... -
相控阵波束扫描“动图”的Matlab仿真,用matlab画波束图,matlab
2019-04-28 20:08:52利用matlab相控阵工具,对相控阵进行仿真,有三个实用例子。 -
MATLABask_2信号调制仿真波形图.zip
2020-03-23 11:41:46可以再matlab软件编辑器上运行的2ask信号调制波形图,还有波形图 -
(来点有用的)MATLAB制作动图或视频测试代码
2019-07-29 16:42:17MATLAB制作动图或视频。主要讲解两种不同的场合:1)有准备好的图像数据,将其制作成动图或视频;2)把MATLAB plot或imshow的结果保存为动图或视频