假设理想状态下的弹道轨迹满足抛物线方程y=a+bx+cx^2(注:真实状态下的轨迹并不是那样,一般发射后段的轨迹比较倾斜,这是因为后段受空气阻力的影响比较大。),已知弹道轨迹经过点(1,6)、(3,5)、(7,2),求此弹道轨迹抛物线方程。 要求: 采用列主元消去法求解,并画出此弹道轨迹抛物线图形。用Python实现
时间: 2023-05-24 17:03:31 浏览: 132
对于抛物线方程y = a bx cx^2,我们可以写出三个方程:
a + b + c = 6
9a + 3b + c = 5
49a + 7b + c = 2
利用列主元消去法,首先消去x^2的系数:
(1) 49R1 - 9R2 = 343a - 27b - 3c = 7(6a - 2b - c)
(2) 9R1 - R2 = 9a - b - c = 5/2
(3) R1 = a + b + c = 6
由(2)可推出b和c:
b = 9a - 5/2 - c
代入(3)中得到:
a + (9a - 5/2 - c) + c = 6
10a + 1.5 = 2c
代入(1)中得到:
343a - 27(9a - 5/2 - c) - 3c = 7(6a - 2(9a - 5/2 - c) - c)
-226a + 56c = -25
解出a和c:
a = 0.796
c = 3.129
代入b的方程得到:
b = 2.129
将a、b、c代入抛物线方程,得到:
y = 0.796x(2.129 - 3.129x^2)
代码实现:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-2, 2, 200)
y = 0.796*x*(2.129 - 3.129*x**2)
plt.plot(x, y)
plt.scatter([1, 3, 7], [6, 5, 2])
plt.xlabel('x')
plt.ylabel('y')
plt.show()
结果:
![抛物线图形](https://cdn.nlark.com/yuque/0/2021/png/17538105/1613481593871-56768de0-c120-4f8c-a106-289d9a470b7a.png)