0

我是 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

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

4

1 回答 1

2

我通常会做类似的事情:

# Plot figure
plot(...);

# Calculate the average
avg = mean(tst);

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

并重复prp。您可以根据linespec文档对线条进行样式设置。

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

编辑

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

相反,如果您想要一个线图,其点是两个数组的平均值,您需要类似:

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

# Plot all 3 lines at once
plot([tst;prp;avg]');
于 2012-10-13T00:00:30.760 回答