2015-11-11 76 views
1

我正在进行某种系统测试,其中我有一组.s文件形式的读数。 它具有.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()函数,但我无法实现它。

    任何人都可以帮助我吗?

+1

[如何在Matlab脚本中组合不同的图形?](http://stackoverflow.com/questions/33632474/how-to-combine-different-figures-in-a-matlab-script) – excaza

回答

2

是的,你想使用plotyy

如果要将刻度设置为特定值,则应在创建图形时为该轴创建挂钩,例如,

[AX,H1,H2] = plotyy(time, velocity, time, acceleration); 

其中AX对于第一和第二轴可以设置两个元素,例如,

set(AX(1),'ytick',[0:20:120]) 

H1和H2用于设置适当数据的样式等。

+0

是的,非常感谢。它为我工作 –