概述
仿真秀平台一直有做针对于matlab入门的公开课,算法工匠带你学MATLAB基础课程,入门一段时间后我们就可以用
matlab做一下有意思的事比如说画个动态图:
是不是很神奇,使用好matlab动态绘图技能可以做很多有意义的是,关于动态绘图主要使用到以下几个命令:
第一种方法需要使用到的命令有:
getframe:是图像动态化,将每一帧的画面数据转换为列向量储存在自定义矩阵中。
movie:播放储存的自定义矩阵中的画面数据。
用这两个命令就可以绘制正弦函数的动态变化了 。代码如下:clc,clear,closeall%清存
warningoff%取消警告
featurejitoff%加速代码执行
x=-8:0.1:8;
y=sin(x);
figure1=figure;
axes1=axes('Parent',figure1,'Position',[0.120.120.80.8]);
plot(x,y,'LineWidth',2);
%创建arrow
annotation(figure1,'arrow',[0.520.52],[0.120.90],'LineWidth',2);
annotation(figure1,'arrow',[0.120.90],[0.520.52],'LineWidth',2);
set(axes1,'GridColor',[000],'MinorGridColor',[0.1019607843137250.1019607843137250.101960784313725],'XColor',[111],'YColor',[111]);
%fmat=moviein(20);%创建一个动画的矩阵,保存20祯
gg=1;
forj=1:30;
plot(x,0.1*j*y,'LineWidth',2);%循环创建动画数据
text('Parent',axes1,'FontSize',16,'FontName','TimesNewRoman','Interpreter','latex','String','$$y=A*sin(x)$$','Position',[-520],'Visible','on');
text('Parent',axes1,'FontSize',16,'FontName','TimesNewRoman','Interpreter','latex','String','$$x$$','Position',[5-0.20],'Visible','on');
axis([-88-33])
set(axes1,'GridColor',[000],'MinorGridColor',[0.1019607843137250.1019607843137250.101960784313725],'XColor',[111],'YColor',[111]);
fmat(:,j)=getframe;%拷贝祯到矩阵fmat中
im=frame2im(getframe);
[I,map]=rgb2ind(im,256);
ifgg==1
imwrite(I,map,'lxx.gif','GIF','Loopcount',inf,'DelayTime',0.1);
gg=gg1;
else
imwrite(I,map,'lxx.gif','WriteMode','append','DelayTime',0.1);
end
end
movie(fmat,5)
现在再演示另一种命令实现的方式。
drawnow:刷新图片窗口
使用该命令的思路是不断更新图像数据用drawnow;刷新图像就可以让图动起来。过冷水就
采用动态绘图给大家演示一下农夫是如何带着他的狼、羊、菜过河的。
由于平台视频上传不太方便,感兴趣的可以看该链接Matlab 动态演示农夫渡河视频
由于动态过河代码较为繁琐,关于动Matlab 动态演示农夫渡河的代码可以看我的附件 。读者要是有想好动态绘图点子都可以给多冷水留言,过冷水帮你们实现创意。
最后
以上就是强健小刺猬为你收集整理的狼羊白菜过河matlab编程,matlab绘制农夫过河动态图的全部内容,希望文章能够帮你解决狼羊白菜过河matlab编程,matlab绘制农夫过河动态图所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复