我正在进行某种系统测试,其中我有一组.mat文件形式的读数。 它在.mat文件中有一个结构,其中一个字段为Measurement。它有几个阵列(例如空气质量流量,速度,加速度,碳含量),它们还具有时间和价值等字段。
我需要在相应的时间内绘制不同的场值。
我有两个字段作为速度和加速度。我需要将它绘制在相同的曲线上,并使用网格进行比较。但两者的y轴不同。
速度y轴为:(0:20:120),应显示在左侧,加速度y轴为:(0:2:12),应显示在右边。
我为此编写了以下代码:
plot(Measurement.(Measurement.VehV_v.time),Measurement.VehV_v.value)
grid on
set(gca,'xtick',[0:500:2000])
set(gca,'ytick',[0:20:120])
hold on
plot(Measurement.(Measurement.accel_w.time),Measurement.accel_w.value)
grid on
set(gca,'xtick',[0:500:2000])
set(gca,'ytick',[0:2:12])
我是否需要为此编写函数,因为我直接从结构中读取值?
轴不匹配,加速度图表非常小。任何人都可以帮我解决这个问题吗? 我还想在这里添加图表的图片,但不幸的是这里有一些错误。我希望没有图片就可以清楚地解决这个问题。
我想我需要使用plotyy()
函数,但我无法实现它。
任何人都可以帮我这个吗?
答案 0 :(得分:2)
是的,您想使用plotyy。
如果要将比例设置为特定值,则应在创建图形时为轴创建悬挂,例如
[AX,H1,H2] = plotyy(time, velocity, time, acceleration);
其中AX有第一和第二轴的两个元素,例如你可以设置。
set(AX(1),'ytick',[0:20:120])
H1和H2用于设置相应数据的样式等。