我想绘制通过y轴上指定坐标的射弹运动的一半(正增加的一半),直到中点的顶点或运动的平均值。例如,通过指定从(0,0)到(1000,150)并且仅绘制曲线的正半部分,因为另一半将是对称的。曲线前半部分的顶点接近(1000,150)。有人可以为此发布代码。谢谢。
答案 0 :(得分: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
这给你这个情节: