matlab函数plot函数_动态变量

matlab函数plot函数_动态变量引子对于真实系统或者仿真平台,数据是增量式的产生的。Matlab除了强大的矩阵运算外,还具有强大的数据可视化库。由于静态画图的方法较多,本文只针对增量式数据流的动态显示。本文主要介绍几种Matlab实现数据的动态显示方法。方法主要有两种:holdonset函数与drawnow函数组合holdon方法1.方法介绍此种方法比较原始,适合于即时数据,原理是先画上一帧,接着保留原始图像,

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

引子

对于真实系统或者仿真平台,数据是增量式的产生的。Matlab除了强大的矩阵运算外,还具有强大的数据可视化库。由于静态画图的方法较多,本文只针对增量式数据流的动态显示。**本文主要介绍几种Matlab实现数据的动态显示方法。**方法主要有两种:

  • hold on
  • set函数与drawnow函数组合

hold on 方法

1. 方法介绍

此种方法比较原始,适合于即时数据,原理是先画上一帧,接着保留原始图像,追加下一幀图像,此种方式比较繁琐,涉及画图细节,并且没有完整并连续的Line对象数据。此种方法需要注意的地方是,若想生成连续的线图,则每次plot至少两个点,原理大家都应该理解,两点一线嘛!如果想每次一个点增量式的画图,则线型选择’.’。

2. 代码与图例

t=0;
t1=[0 0.1]; %若为'-'至少同时输入两个点,两点一线嘛!!!而'.'则不用
m1=sin(t1);
p = plot(t1,m1,'-b','MarkerSize',5);   
x=-1.5*pi;
axis([x x+2*pi -1.5 1.5]);
grid on;

for i=1:1000
    hold on
    t=0.1*i; %下一个点
    t1=t1+0.1; %下一段线
    m1=sin(t1);
    p = plot(t1,m1,'-b','MarkerSize',5);   
    x=x+0.1;
    axis([x x+2*pi -1.5 1.5]);
    pause(0.01);
end

hold on

set函数与drawnow函数组合

1. 方法介绍

这种模式比较适合画动画,效率比较高,刷新闪烁小,适合即时数据,最终的Line结构数据完整。
了解此方法之前要搞清楚 Plot函数的原型是什么: 每个Plot由一个句柄维护,而可以通过set函数对该句柄对应的plot参数在线的更新,若在线更新plot的数据,则可实现动态显示的效果。
最后使用drawnow函数对plot进行刷新。

2. 代码与图例

t=[0]
m=sin(t)
p = plot(t,m,'EraseMode','background','MarkerSize',5);
x=-1.5*pi;
axis([x x+2*pi -1.5 1.5]);
grid on;

for i=1:1000
    t=[t 0.1*i];  
    m=[m sin(0.1*i)]; 
    set(p,'XData',t,'YData',m)   
    drawnow
    x=x+0.1;    
    axis([x x+2*pi -1.5 1.5]);
    pause(0.01);
end

set函数与drawnow函数组合动态效果展示

总结

本文介绍了两种实现即时数据可视化的方法。也就是看上去的动态显示效果。分别给出了两种方法的原理介绍和示例程序与图例。相信这两个简单的例子经过你的运用可以变幻出多姿多彩的数据可视化效果。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183947.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 组播(Multicast)传输[通俗易懂]

    组播(Multicast)传输[通俗易懂]组播(Multicast)传输:在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包。它提高了数据传送效率。减少了骨干网络出现拥

    2022年8月5日
    5
  • java语言的特性有什么

    java语言的特性有什么1.java语言是简单的java语言是和c++语言类似的,其次java中丢弃了c++中一些难理解的特性,比如运算符重载等,java语言不使用指针,并且拥有垃圾回收机制2.java语言是面向对象的java语言提供了类、接口和继承等特性,只支持类之间的单继承,但是支持接口之间的多继承,并且支持类与接口之间的实现机制,而且java是全面支持动态绑定的。3.java语言是分布式的jav…

    2022年7月7日
    24
  • PyPDF2读取中文_pdfplumber、pypdf2 常用方法总结

    PyPDF2读取中文_pdfplumber、pypdf2 常用方法总结这两天学习了一些处理PDF文档的方法,网上查找资料的过程中发现很多处理PDF文件的库,多方尝试后推荐两个比较好用的。若处理对象是PDF文档本身,则推荐使用pypdf2,如对PDF文档进行分割,合并,插入等操作.若处理对象是PDF文档中的文本,表格等内容,则推荐使用pdfplumber.pypdf2PdfFileMerger。该类用来合并pdf文件,该类的构…

    2022年6月23日
    36
  • Java 面试之 IO 流及Socket

    Java 面试之 IO 流及SocketJava 面试之 IO 流及Socket

    2022年4月22日
    37
  • adventureworksdw2008r2_world library

    adventureworksdw2008r2_world libraryAdventureWorksDatabases2008下载地址:RECOMMENDEDDOWNLOADAdventureWorks2012_Database.zipexample,37158K,uploadedAug29,2012-232028downloadsOTHERAVAILABLEDOWNLOADSAdventure…

    2022年9月11日
    2
  • (小米系统系列一)小米/红米BL解锁,解BL锁方法(亲测可用)

    (小米系统系列一)小米/红米BL解锁,解BL锁方法(亲测可用)文章参考自原作者,原作者链接:https://www.bilibili.com/read/cv3305336/,https://www.xiaomi.cn/post/17982230第一步:解锁bootloader手机端操作????设置->关于手机->全部参数->猛戳MIUI版本>成功变身开发者模式;设置->更多设置->开发者选项->设备…

    2022年6月9日
    119

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号