matlab函数plot函数_动态变量

matlab函数plot函数_动态变量引子对于真实系统或者仿真平台,数据是增量式的产生的。Matlab除了强大的矩阵运算外,还具有强大的数据可视化库。由于静态画图的方法较多,本文只针对增量式数据流的动态显示。本文主要介绍几种Matlab实现数据的动态显示方法。方法主要有两种:holdonset函数与drawnow函数组合holdon方法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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • html使用toast弹窗,jQuery常用工具之message和toast弹窗插件「建议收藏」

    html使用toast弹窗,jQuery常用工具之message和toast弹窗插件「建议收藏」常用工具message和toast弹窗图片预览常用工具message和toast弹窗浏览器适配支持Chrome所有版本支持Firefox所有版本支持Safari所有版本不支持IE任何版本常用工具message和toast弹窗使用教程默认调用:alert(‘请打开麦克风’)支持多参数:alert({title:’我是标题’,content:’请打开https://huajiakeji.com/’…

    2022年9月25日
  • webstorm激活码2021年-激活码分享

    (webstorm激活码2021年)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsaWN…

    2022年3月20日
  • Navicat Premium 15激活【2021最新】

    (Navicat Premium 15激活)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月28日
  • Dreamweaver 2020安装教程[通俗易懂]

    Dreamweaver 2020安装教程[通俗易懂]装前先关闭杀毒软件和360卫士,注意安装路径不能有中文,安装包路径也不要有中文。1.鼠标右击【Dreamweaver2020】压缩包选择【解压到Dreamweaver2020】。2.双击打开解压后的【Dreamweaver2020】文件夹。3.双击打开【setup】文件夹。4.鼠标右击【Set-up】选择【以管理员身份运行】。5.点击【继续】。6.点击文件夹图标,然后点击【更改位置】更改安装路径。7.建议安装在除…

    2022年5月25日
  • Windows10下安装Anaconda、Pycharm、Tensorflow-gpu,并在Pycharm中配置Tensorflow

    Windows10下安装Anaconda、Pycharm、Tensorflow-gpu,并在Pycharm中配置TensorflowWindows10下安装Anaconda、Pycharm、Tensorflow-gpu,并在Pycharm中配置TensorflowPyCharm是一款功能强大的Python编辑器,其提供了一个带编码补全,代码片段,支持代码折叠和分割窗口的智能、可配置的编辑器,可帮助用户更快更轻松的完成编码工作。用户可使用其编码语法,错误高亮,智能检测以及一键式代码快速补全建议,使得编码更优化。所以我一般推荐使用Pycharm进行python代码编辑。但是Anaconda通过管理工具包、开发环境、Python

    2022年8月29日
  • sqlserver2008 sql使用rownumber分页

    sqlserver2008 sql使用rownumber分页@pageSize=2;@pageIndex=3;5=(@pageIndex-1)*@pageSize+1;6=@pageIndex*@pageSize;SELECT*FROM(SELECTROW_NUMBER()OVER(ORDERBYcdateASC)AS’RowNumber’,*FROMbw_push_order_log)…

    2022年5月31日

发表回复

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

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