matlab训练1.绘图功能两个数据作图。

自动变化两个数
一个横轴,
一个纵轴
将数据,放在两个数组中,然后将两个一维数组cat结合起来
然后绘图
如果横轴数据大于fig的横坐标最大数值,那么刷新图,移动到后续的图;

close all
clear all
count=0;
TL=10;%红fig1
TR=20;%蓝fig1
VS=10;%红fig2
VM=20;%蓝fig2
%设置fig的属性
y_axisMax =  10000;
y_axisMin = -10;
window_width = 50;
window_w = window_width;
window_d = window_w * 0.9;  % display window
window=0;
runtimes = 0;
recvData = 500;
fig1 = figure(1);
%设置fig和边框的距离
set(fig1, 'Position', [100, 100, 800 700], 'color', 'w');  % 
%signal = plot(runtimes, recvData);
axis([window, window + window_w, y_axisMin, y_axisMax]);
 %axis([-100, (-100+700), y_axisMin, y_axisMax]);
xlabel('runtimes');
ylabel('data'); 
grid on;
hold on;
x_axisMin=window;
x_axisMax=x_axisMin+window_w;
fignum=0;%刷新图的次数
while ishandle(fig1)
    %数据更新
    %时间轴更新时间,会不断流动,形成动态曲线
      runtimes=runtimes+1;
     %数据纵坐标更新。
      recvData=recvData+20.5;
     %图中横坐标坐标轴数据起点,不断更新?应该是如果溢出了数据轴范围,那么就更新。这里要修改
     %这里设置每500ms刷新一次数据,每秒钟,两个数据,一分钟2*60=120个数据,那么20分钟,
     %20*120=2400个数据
      displayData = runtimes - window_d + 1;
      data1(: ,runtimes) = runtimes;%横坐标放在data1中
      data0(:, runtimes) = recvData;%纵坐标放在对应的位置中;
      xydata=cat(1,data1,data0);%把两个合并在一起;
      %将recvData
%       if displayData > 0
%                     times = [displayData : runtimes];
%                     plot(times, data0,'*');
%        else         
%       end
      %如果计算得的数据,大于横轴最大值window + window_w
      if runtimes>(x_axisMax-5)
            fignum=fignum+1;
            x_axisMin=x_axisMax-5;
            x_axisMax=x_axisMin+window_w; 
            axis([x_axisMin,x_axisMax, y_axisMin, y_axisMax]);
      else
            axis([x_axisMin, x_axisMax, y_axisMin, y_axisMax]);
      end
      times = [1 : runtimes];
      plot(data1, data0,'+');
      drawnow
      
      hold on;
      %延时函数
      pause(1);
      fprintf('runtimes = %d,recvData= %d\n', runtimes,recvData);
end

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
退出调试后。在坐标轴属性轴,可以将坐标轴设置为0,得到全局的图。
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值