【发布时间】:2019-01-02 02:06:15
【问题描述】:
我正在尝试绘制在重力、浮力和阻力作用下的质量的抛射运动图。基本上,我想在绘图上显示浮力和阻力对飞行距离、飞行时间和速度变化的影响。
import matplotlib.pyplot as plt
import numpy as np
V_initial = 30 # m/s
theta = np.pi/6 # 30
g = 3.711
m =1
C = 0.47
r = 0.5
S = np.pi*pow(r, 2)
ro_mars = 0.0175
t_flight = 2*(V_initial*np.sin(theta)/g)
t = np.linspace(0, t_flight, 200)
# Drag force
Ft = 0.5*C*S*ro_mars*pow(V_initial, 2)
# Buoyant Force
Fb = ro_mars*g*(4/3*np.pi*pow(r, 3))
x_loc = []
y_loc = []
for time in t:
x = V_initial*time*np.cos(theta)
y = V_initial*time*np.sin(theta) - (1/2)*g*pow(time, 2)
x_loc.append(x)
y_loc.append(y)
x_vel = []
y_vel = []
for time in t:
vx = V_initial*np.cos(theta)
vy = V_initial*np.sin(theta) - g*time
x_vel.append(vx)
y_vel.append(vy)
v_ch = [pow(i**2+ii**2, 0.5) for i in x_vel for ii in y_vel]
tau = []
for velocity in v_ch:
Ft = 0.5*C*S*ro_mars*pow(velocity, 2)
tau.append(Ft)
buoy = []
for velocity in v_ch:
Fb = ro_mars*g*(4/3*np.pi*pow(r, 3))
buoy.append(Fb)
在这一点之后,我无法弄清楚如何在这种力下绘制弹丸运动。换句话说,我试图比较质量在三种情况下的抛射运动
- 仅受重力影响的质量
- 重力和空气阻力作用下的质量
- 重力、空气阻力和浮力作用下的质量
【问题讨论】:
-
你提供了很多无证代码。您没有在问题中指定要针对哪个变量绘制哪个变量。您没有告诉我们所需的情节如何(1d,2d,3d)。您没有告诉我们您面临的具体问题是什么。您希望读者如何帮助您?
-
据我了解,您的问题是双重的:求解(数值)一个微分方程,然后绘制它。请详细说明您要在两端完成的工作以及您尝试过的工作。您可能还想查看
scipy.integrate.odeint示例(如果您更好地指定问题,我们可以帮助您)。 -
我编辑了我的问题并试图更清楚地解释。
标签: python numpy matplotlib physics