如何使⽤Matlab绘制动态曲线,并⽣成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) 动画曲线,可⽤于数据回放
matlab软件怎么使用% 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图⽚

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。