Matlab - 绘制两个结构之间的平均值?

时间:2012-10-12 23:57:24

标签: matlab plot average

我是Matlab的新手,我认为这是一个非常基本的问题。

我有两个数组:

 tst

  ans =

          0         0    0.2500    0.2500         0         0         0         0

 prp

    ans =

          0         0         0    0.5333    0.0333    0.0333    0.1667    0.0667

我想在同一个地块(作为一条线)上绘制这两者之间的平均值。最好的方法是什么?

1 个答案:

答案 0 :(得分:2)

我通常会这样做:

# Plot figure
plot(...);

# Calculate the average
avg = mean(tst);

# Add a line to the figure
line(xlim(), [avg avg]);

重复prp。您可以根据linespec文档为所需的样式设置样式。

请注意,您应该在更改xlimits(hold并绘制其他内容等)的任何内容的末尾执行此操作,因为它取决于xlim()

修改

我可能误解了你的问题。上面的代码将在数组tst中的点的平均值处绘制一条水平线。

如果你想要一个线图,其点是两个数组的平均值,你需要类似的东西:

# Calculate average between arrays
avg = mean([tst;prp]);

# Plot all 3 lines at once
plot([tst;prp;avg]');