-
2022-02-03 23:04:12
最近做视频的时候,需要加上疫情数据变化曲线,动态的曲线变化更能体现抗击疫情的艰辛过程,所以利用 MATLAB做了个动态曲线。
数据因为较短,所以是自己手动录入的。
因为准备加到视频中使用,所以动态曲线输出格式选择的是AVI格式。使用的函数为:writeVideo
使用格式如下:
aviobj=VideoWriter('example.avi');%新建叫example.avi的文件 aviobj.FrameRate = 1; % frame rate 帧率 open(aviobj); % 打开对象 for i=1:N % 生成每帧图像 一共N帧 currFrame = getframe; % 获取当前帧 writeVideo(aviobj,currFrame); % 保存当前帧 end close(aviobj); % 关闭保存视频
同时为了使横纵坐标消去,并调整图像横纵比使用如下操作:
set(gca,'xtick',[]) % 消除横坐标刻度 set(gca,'color','none'); % 消除坐标颜色 set(gca,'DataAspectRatio',[1,10,1]) % 控制横纵比
为了消去matlab画图背景颜色,采用如下操作:
set(gcf,'color','none'); % 消除图形颜色 set(gcf,'InvertHardCopy','off'); % 背景透明
完整代码如下:
figure() aviobj=VideoWriter('example.avi');%新建叫example.avi的文件 aviobj.FrameRate = 1; % frame rate 帧率 open(aviobj); % 打开对象 for i=1:N % 生成每帧图像 一共N帧 plot(1:i,num(1:i),'b','LineWidth',2);pause(0.5); axis([1,41,0,180]) set(gca,'xtick',[]) % 消除横坐标刻度 set(gca,'color','none'); % 消除坐标颜色 set(gca,'DataAspectRatio',[1,10,1]) % 控制横纵比 set(gcf,'color','none'); % 消除图形颜色 set(gcf,'InvertHardCopy','off'); % 背景透明 hold on currFrame = getframe; % 获取当前帧 writeVideo(aviobj,currFrame); % 保存当前帧 end close(aviobj); % 关闭保存视频
视频下方就是哦
西电老校区疫情记录,加油,自己也要加油
更多相关内容 -
matlab 画双曲线代码
2018-03-20 15:27:12matlab 画双曲线 两种方法:ezplot函数和纯代码。。。 -
matlab画ROC曲线
2017-08-31 14:49:34使用matlab画ROC曲线,% predict - 分类器对测试集的分类结果 % ground_truth - 测试集的正确标签,这里只考虑二分类,即0和1 % auc - 返回ROC曲线的曲线下的面积 -
如何使用Matlab绘制动态曲线,并生成gif图形
2021-07-15 22:49:45文章目录0. 原由1. 思路2. 函数3....Matlab中绘制动态曲线的基本思路:绘图并保存图形句柄,使用set函数循环改变图形句柄的xdata和ydata属性,对曲线坐标进行更新,形成动画效果。 保存gif图片的基0. 原由
可视化是Matlab软件的突出优势之一,经常需要将仿真或试验得到的数据可视化,有时还希望形成动态曲线,保存成动画,以便生动形象的展示数据。
1. 思路
Matlab中绘制动态曲线的基本思路:绘图并保存图形句柄,使用set函数循环改变图形句柄的xdata和ydata属性,对曲线坐标进行更新,形成动画效果。
保存gif图片的基本思路:动态绘图时将每个步长的figure状态保存到frame文件中,再将每一帧frame以图片格式保存到gif图片中,制定图片播放的时间间隔后,即可保存为gif动态图片。
2. 函数
作者使用Matlab软件开发了函数MovieXY.m和Fun_F2gif.m,分别实现动态曲线绘制和gif图片的保存,简单易用,下面通过实例详细演示。
function F = MovieXY(X,Y,dt,C) %% F = movieXY(X,Y,dt,C) 动画曲线,可用于数据回放 % X 曲线横坐标,n维列向量,或与Y通维的矩阵 % Y 曲线纵坐标,可为n维列向量或n*k矩阵(k条曲线) % dt 两相邻数据点之间的时间间隔,单位为秒 % dt影响数据回放的快慢,默认值为0.05s % C为标记结构体,字符类型,可选'*' 'o' 's'等 % 返回值F为动画的框架frame文件,可用于生成gif图片
function Fun_F2gif(F,filename,S) %% Fun_F2gif(F,filename,S) 将frame格式图片框架文件转换为gif图片 % F为frame格式结构体 % S为设置参数,默认为gif动画两帧之间的间隔 % filename为文件名,默认为'Test' % S为设置参数 S为单帧时间间隔
3. 演示
3.1 动态绘制圆
%% 1. 动态绘制圆 T = linspace(0,2*pi,100)'; X = cos(T); Y = sin(T); figure F = MovieXY(X,Y); % 绘制动态曲线 Fun_F2gif(F,'Test1.gif',0.01); % 生成gif图片
3.2 绘制动态正弦曲线
%% 2. 绘制动态正弦曲线 X = linspace(0,3,200)'; Y = [sin(2*pi*X) cos(2*pi*X) sin(2*pi*X)+cos(2*pi*X) ]; dt = 0.02; figure F = MovieXY(X,Y,dt); % 绘制动态曲线 Fun_F2gif(F,'Test2.gif',0.01); % 生成gif图片
3.3 绘制不同阻尼比二阶系统的动态阶跃响应曲线
T = linspace(0,30,100)'; sys1 = tf(1,[1 0.5 1]); % 阻尼比0.25 sys2 = tf(1,[1 1 1]); % 阻尼比0.5 sys3 = tf(1,[1 2 1]); % 阻尼比1 Y1 = step(sys1,T); Y2 = step(sys2,T); Y3 = step(sys3,T); dt = 0.01; figure F = MovieXY(T,[Y1 Y2 Y3],dt,{'*','o','s'}); % 绘制动态曲线 Fun_F2gif(F,'Test3.gif',0.01); % 生成gif图片
3.4 绘制旋转的五角星曲线
t = linspace(0,4*pi,100)'; s1 = 1 + 0.2*sin(5*t); s2 = 1 + 0.2*sin(5*t+2*pi/3); s3 = 1 + 0.2*sin(5*t+4*pi/3); x1 = s1.*cos(t+4*pi/3); y1 = s1.*sin(t+4*pi/3); x2 = s2.*cos(t+2*pi/3); y2 = s2.*sin(t+2*pi/3); x3 = s3.*cos(t); y3 = s3.*sin(t); X = [x1 x2 x3]; Y = [y1 y2 y3]; dt = 0.02; figure F = MovieXY(X,Y,dt,{'*','o','s'}); % 绘制动态曲线 Fun_F2gif(F,'Test4.gif',0.01); % 生成gif图片
推荐
联系作者
有Matlab/Simulink方面的技术问题,欢迎发送邮件至944077462@qq.com讨论。更多Matlab/Simulink原创资料,欢迎关注微信公众号:Matlab Fans
源程序下载: -
用MATLAB画贝塞尔曲线和B样条曲线
2017-12-29 09:56:52用鼠标点击图片上的点,即可根据所选的点生成相应的贝塞尔曲线和B样条曲线。 -
MATLAB GUI实现动态画图曲线的源程序代码_flight3u4_动态绘图_matlab_GUI_
2021-10-03 00:23:41MATLAB GUI实现动态画图曲线的源程序代码 -
骨架曲线MATLAB程序,骨架曲线如何绘制,matlab
2021-09-10 21:07:11用matlab求解滞回曲线骨架曲线,并得到相应骨架曲线散点 -
matlab画心形曲线
2021-04-22 13:29:27Matlab 绘制三维动态心形 It’s OK to send a pic to...Matlab 绘制三维动态心形 It’s OK to send a pic to...(x,y1,'-r',x,y2,'-.k','linewidth',2) 8、绘制心形图 r=2(1-cosθ)的极坐标图形 >> theta=[0:...Matlab 绘制三维动态心形 It’s OK to send a pic to...
Matlab 绘制三维动态心形 It’s OK to send a pic to...
(x,y1,'-r',x,y2,'-.k','linewidth',2) 8、绘制心形图 r=2(1-cosθ)的极坐标图形 >> theta=[0:0.01:2*pi]; >> polar(theta,2*(1-cos(......
Matlab心形线动画 %画心形线; % function cupid %丘比特...
(x,y1,'-r',x,y2,'-.k','linewidth',2) 8、绘制心形图 r=2(1-cosθ)的极坐标图形 >> theta=[0:0.01:2*pi]; >> polar(theta,2*(1-cos(......
数学建模与Matlab MATLAB作图 二维图形 三维图形 图形处理实例 特殊二、三维图形 作业 1.曲线图 MATLAB作图是通过描点、连线来实现的,故在 画一个曲线图形之前, ......
(x,y1,'-r',x,y2,'-.k','linewidth',2) 8、绘制心形图 r=2(1-cosθ)的极坐标图形 >> theta=[0:0.01:2*pi]; >> polar(theta,2*(1-cos(......
利用MATLAB绘制函数图形长春理工大学工科数学基础教学部 一、基本的绘图指令 ? ...? 例11:绘制心形曲线 ?=5(1-sin?) >>theta = linspace(0, 2*pi); ......
matlab 心形动态图代码 clc; h1=figure('name&...
8、绘制心形图 r=2(1‐cosθ)的极坐标图形 >>?theta...
数学建模与数学实验 MATLAB作图 二维图形 三维图形 图形处理 特殊二、三维图形 实例 作业 1.曲线图 MATLAB作图是通过描点、连线来实现的,故在 画一个曲线图形之......
Matlab图形绘制经典案例_计算机软件及应用_IT/计算机_专业资料。MATLAB 绘图案例 1. 三维曲线 ? t=0:pi/50:10*pi; ? plot3(sin(2*t),cos(2*t)Λ) ? ...
(a=100) 7、在同一平面的两个窗口中分别画出心形线和马鞍面。 三. 上机方法与步骤 给出相应的问题分析及求解方法,并写出 Matlab 程序。并有上机程序显示。 ...
内江师范学院 数值仿真与数学实验教学示范中心 第二讲 MatLab 图形绘制功能 教学目的: 教学目的:熟练掌握二维曲线作图;了解隐函数绘图;掌握三维曲线和三维曲面作图的......
第2讲MATLAB作图素材 1.曲线图 Matlab作图是通过描点、连线来实现的,故在 画一个曲线图形之前,必须先取得该图形上的 一系列的点的坐标(即横坐标和纵坐标),然......
MATLAB作图是通过描点、连线来实现的,故在 画一个曲线图形之前,必须先取得该图形上的 一系列的点的坐标(即横坐标和纵坐标),然 后将该点集的坐标传给MATLAB......
数学建模与数学实验 MATLAB作图 二维图形 三维图形 图形处理实例 特殊二、三维图形 作业 1.曲线图 MATLAB作图是通过描点、连线来实现的,故在 画一个曲线图形之前......
(x,y1,'-r',x,y2,'-.k','linewidth',2) 仅供学习与交流,如有侵权请联系网站删除 谢谢 42 精品好文档,推荐学习交流 8、绘制心形图 r=2(1-cosθ)的......
数学建模与数学实验 MATLAB作图 二维图形 三维图形 图形处理实例 特殊二、三维图形 作业 1.曲线图 MATLAB作图是通过描点、连线来实现的,故在 画一个曲线图形之前......
Matlab作图是通过描点、连线来实现的,故在 画一个曲线图形之前,必须先取得该图形上的 一系列的点的坐标(即横坐标和纵坐标),然 后将该点集的坐标传给Matlab......
-
matlab中动态绘制曲线
2021-12-16 14:35:38此项目实现动态绘制曲线图,这只是其中的一种方法,还有很多其他的方法, 代码如下 clear clc x=linspace(0,10,100); y=sin(x); for i=1:numel(x) plot(x(1:i),y(1:i),'r') axis([min(x)*(11/10),max(x)*(11/10),...此项目实现动态绘制曲线图,这只是其中的一种方法,还有很多其他的方法,
代码如下clear clc x=linspace(0,10,100); y=sin(x); for i=1:numel(x) plot(x(1:i),y(1:i),'r') axis([min(x)*(11/10),max(x)*(11/10),min(y)*(11/10),max(y)*(11/10)]) %设置坐标轴的范围 hold on pause(0.1) end
有两个注意的点:
1.matalb坐标轴刻度范围默认是自适应的,所以要根据向量的大小设置坐标轴的范围,否则在动态绘图的过程中坐标轴范围会一直变,影响最终效果的呈现
2.在每一次绘图过程中,下一条曲线颜色和上一条曲线的颜色会不一样,所以要在plot函数中设置曲线的颜色,示例中曲线颜色设置为红色实现效果如下图
-
matlab画三维曲线的代码-M4Econ:Matlab代码示例
2021-05-20 05:28:49matlab画三维曲线的代码 这是一个进行中的工作,由用于处理各种数据结构,动态编程,图形绘制和相关任务的Matlab示例代码组成。 和 。 从使用matlab的各种材料中收集的材料。 Matlab文件在下面按节与livescript文件... -
matlab 画双曲线(上传错误,请删除,谢谢)
2018-03-20 15:25:11matlab 画双曲线 两种方法:ezplot函数和纯代码。。。 -
matlab-疲劳曲线拟合算法(S-N曲线)-线性回归
2022-02-13 18:11:11包含疲劳S-N曲线拟合的matlab算法程序,可直接运行 -
matlab画曲线
2021-04-12 10:38:01在学习中,习惯了在其他语言或工具中获取曲线数据,然后在matlab中画图。 直接上matlab程序,设置X轴与Y轴数据,曲线数和曲线标注文字。 close all; NumCurve=5; legendText={'1','2','3','4','5'}; CurveX=1:1:... -
绘制阶跃响应曲线的matlab程序
2021-04-29 15:56:47绘制阶跃响应曲线的matlab程序,在自控、信号处理等课程中往往可能会用到,比较通俗易懂,方便学习~重新更新了一下资源,可以直接运行,这次注释得很详细!之前下载的同学请重新下载,谢谢! -
matlab画出拟合曲线
2021-04-23 16:22:46matlab曲线拟合 39页 免费 用微软excel进行非线性曲线... 21页...曲线拟合工具箱 (Curve Fitting Toolbox) 对数据进行曲线拟合,给出数学建模中的实例 用以介绍其具体 使用方法,并且给出利用 MATLAB 曲线拟合工具箱... -
Matlab画平滑曲线的两种方法( 拟合或插值后再用plot即可)
2021-04-18 17:16:295.1 二维平面图形5.1.1 基本图形函数plot 是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制自然状态下,用plot画的是折线,而不是平滑曲线。有两种方法可以画平滑曲线,第一种是拟合的方法,第二种是用... -
用matlab 怎么画函数曲线图
2021-04-18 15:06:47下面我将介绍用matlab画函数图形的方法,以在同一张图上画出y1=sin(x)和y2=sin^2(x)的图形为例。工具/原料matlab1方法/步骤输入自变量:画已知的函数图形,用向量的方式表示自变量比较方便。代码为x=linspace(0,8); ... -
如何用matlab绘制曲线图.pdf
2020-11-25 18:14:33各位同学 在写论文和报告时为了很好地表达你研究和开发的结果不仅要用文字详细地描述 你方法步骤和结果还必须配以各种图来说明问题下面是我们实验室张媛媛老师申请博 士学位论文中的部分曲线图硬件框图软件流程图和... -
java和matlab画多边形闭合折线图示例讲解
2020-09-04 14:38:33由于要将“哈密顿回路问题(TSP)”的求解中间结果表示出来,查了一下使用程序画多边形图形。现在在总结一下,这个图是“由给定节点首尾相连的”闭合多边形 -
Matlab中使用Plot函数动态画图方法总结
2021-04-18 03:46:43Matlab除了强大的矩阵运算,仿真分析外,绘图功能也是相当的强大,静态画图没什么问题,由于Matlab本身的多线程编程缺陷,想要动态的画图,并且能够很好的在GUI中得到控制,还不是一件很容易的事情,下面总结几种... -
MATLAB画曲线图
2020-08-12 11:55:15MATLAB画曲线图新手实用|画图函数功能介绍linspaceXticksxticklabels 新手实用|画图函数功能介绍 记录分享MATLAB学习过程中,遇到的问题及相应解决方法,希望能帮助到看到这篇博客的你。 linspace x1 = linespace(-3... -
Matlab绘制动态曲线
2013-04-19 11:33:19j=1; for i=1:max %max为最大时间 hold on; if(i==t(j)) %t为时间向量 plot(x(j),y(j),'--ro'); j = j+1; end pause(0.1);%暂停0.1s end -
新手学习matlab--画出电机的曲线图
2017-12-04 10:31:47该代码有效地实现电机参数之间的相互关系,用matlab曲线图的方式 -
matlab画双曲线的四种方法
2020-12-19 20:36:47matlab的plot是(x,y)一一对应的, 所以对于双曲线(以焦点在x轴上为例), 画双曲线的时候可以分为四段: x负, y正; x负, y负; x正, y正; x正, y负. 每次画图用hold on叠加在一起, 注意颜色要一样, 思路二 已知表达式, ... -
用MATLAB画Bezier曲线
2019-04-23 20:51:11关于Bezier曲线 给定n+1个空间向量Pi∈R3(i=0,1,⋯ ,n),称n次参数曲线段 给定n+1个空间向量P_i\in \mathbb{R^3}(i=0,1,\cdots,n),称n次参数曲线段 给定n+1个空间向量Pi∈R3(i=0,1,⋯,n),称n次... -
rcs code_RCS_雷达截面积_matlab画rcs曲线_雷达_源码
2021-10-01 01:35:23关于雷达截面积的matlab仿真 -
用MATLAB画逻辑斯蒂S型曲线.doc
2020-02-29 12:05:35作者李全鹏 运用matlab数学软件画出逻辑斯蒂S曲线 t=0:1:350; y=100./(1+23.1316*exp(-0.0603*t; z=plot(t,y) set(z'LineWidth,2.0) %将线加粗 xlabel'自变量t; ylabel'函数y; title'Logistic方程曲线图) grid on ... -
贝塞尔曲线matlab代码--Matlab-Bezier:贝塞尔曲线代码
2021-05-27 04:31:29贝塞尔曲线matlab代码-Matlab-Bezier 贝塞尔曲线代码。 此Matlab代码实现了Bezier曲线相交点的计算。 贝塞尔曲线可以是任何顺序的,即由任意数量的点确定。 主要目标是查看非常简短的代码,以解决此类难题。 实际上... -
matlab绘制曲线
2015-01-14 09:52:40matlab是数据处理方面很好的软件,尤其对画图来说是很多工程中必不可少的工具,所以这里画曲线代码回你非常有用 -
matlab 手工画曲线
2011-08-21 22:17:00matlab 手工画曲线,将图像转换成数据格式进行处理