在Matlab中仅使用水平和垂直连接绘制数据

s1l*_*nce 2 matlab plot matlab-figure

我得到了什么

我在慢跑期间获得了两个瞬时步进频率的数据源:

  • 踏板传感器连接到受试者的鞋子上
  • 使用计步器算法计算的值基于连接到受试者手臂的智能手机的加速度计数据

我试图将两者结合起来进行直观的比较.当前曲线如下所示(步幅传感器为橙色,算法为蓝色):

具有两个数据源的步频图

您可以看到,计算出的数据总是具有正确的(90°)角度,并且不会将实际数据点与线性函数连接起来.这准确地反映了当您查看当前步频时您会看到的内容.每次更新时,该值立即更改为新值.它看起来是这样的,因为我故意将两个具有相同x坐标(时间戳)的数据点放入我的数据集中.这看起来类似于以下代码:

% on new cadence
c(i) = [t old_cadence];
c(i+1) = [t new_cadence];
Run Code Online (Sandbox Code Playgroud)

所以我想让步幅传感器线图看起来和我自己的数据一样.即,它应该只包括垂直和水平连接线.在绘图功能中是否有一种模式可以自动执行此操作或者我将如何执行此操作?(我显然想要比循环元素更好的东西)

提前感谢任何提示!

the*_*alk 6

您正在寻找楼梯功能:

y = randi([3,8],1,20);
x = 1:20;

stairs(x,y)
ylim([0,10])
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述