我是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
我想在同一个地块(作为一条线)上绘制这两者之间的平均值。最好的方法是什么?
答案 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]');