1

我想绘制通过 y 轴上指定坐标的射弹运动的一半,即正增加的一半,直到运动的中点或平均值的顶点。例如,通过指定从 (0, 0) 到 (1000,150) 并且仅绘制曲线的正半部分,因为另一半将是对称的。曲线前半部分的顶点触及 (1000,150)。有人可以发布代码吗。谢谢。

4

1 回答 1

4

所以你正在寻找二次曲线

h(t) = a + b t + c t^2

这样它通过点(0,0)(x,y)

0 = a                 #  ->  a = 0
y = a + b x  + c x^2  #  ->  y = x (b + c x)

你还想要曲线的斜率

h'(t) = b + 2 c t

在顶点为零(x,y)

0 = b + 2 c x         #  ->  b = -2 c x

因此你有

y = x (-2 c x + c x)  #  ->  c = -y / x^2

所以你想要的代码是

x = 1000;
y = 150;
a = 0;
c = -y/x^2;
b = -2*c*x;

t = 0:x;
h = a + b*t + c*t.^2;

plot(t,h)
grid

这给了你这个情节:

在此处输入图像描述

于 2013-04-07T07:49:34.743 回答