Matlab - 绘制特定点中两个图之间的差异

时间:2016-11-02 17:26:47

标签: matlab plot

我有两张图,一张是解的精确图,另一张是数值方法。我的图中有4个特定点(t = 0.25,0.5,0.75,1),我想用直线说明两个图之间的差异。我找到了错误栏功能,但我没有看到任何用途。希望你能帮我!

编辑:

这是示例图:

t = [0:0.25:1]; 
y = t.*4; 
x = t.^2+3; 
plot(t,y,t,x) 

我现在有4分,t = 0.25; T = 0.5; T = 0.75; T = 1;在这一点上,我只想要两个图之间的垂直线。我已经尝试过这个:plot([t(1),y(1)],[t(1),x(1)])

但它只是在整个数字上创建一条线。

1 个答案:

答案 0 :(得分:0)


在第二次使用hold on命令之前,您似乎没有使用plot,否则您将获得所需的结果(这实际上不是绘制垂直线的正确方法。)

您为 x 混合了yplot(x,y)的值。要绘制垂直线,应使用如下: plot([x,x], [y1,y2])
对于您的情况,您可能没有注意到plot([t(1),y(1)],[t(1),x(1)])(这是不正确的)和plot([t(1),t(1)],[x(1),y(1)])(这是正确的)之间的区别,因为它们是相同的偶然值。将其绘制成其他一些点,你会发现其中的差异。

固定代码:

t = [0:0.25:1]; 
y = t.*4; 
x = t.^2+3; 
plot(t,y,t,x) 
hold on
plot([t(1) t(1)],[x(1) y(1)])  
% You have 't' on your horizontal axis and 'x'and 'y' values on the vertical axis
axis equal     % just for better visualization

<强>输出:

output