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