计算机网站建设与管理是什么意思,厦门安能建设公司网站,网址大全最安全实用的网址,河南省新闻联播视频当大家面临着复杂的数学建模问题时#xff0c;你是否曾经感到茫然无措#xff1f;作为2022年美国大学生数学建模比赛的O奖得主#xff0c;我为大家提供了一套优秀的解题思路#xff0c;让你轻松应对各种难题。 以五一杯 A题为例子#xff0c;以下是咱们做的一些想法呀你是否曾经感到茫然无措作为2022年美国大学生数学建模比赛的O奖得主我为大家提供了一套优秀的解题思路让你轻松应对各种难题。 以五一杯 A题为例子以下是咱们做的一些想法呀
问题1
1建立数学模型
无人机投放模型在这个问题中的作用是建立数学模型来描述无人机投放爆炸物的过程并且可以通过该模型来优化无人机投放的策略从而提高命中率和效率。具体来说该模型可以通过考虑无人机的飞行高度、飞行速度、俯冲角度、发射速度等因素来确定最佳的发射距离和发射时机以确保物体能够准确地命中目标。此外该模型还可以考虑外部因素如风速和风向等来调整无人机的飞行轨迹和姿态以提高投放精度和稳定性。
对于本题的模型有
其中 ρ 为空气密度S 为物资横截面积 为物资的阻力系数 g 为重力加速度F 为无人机与物资之间的牵引力。
当无人机投放物资时物资与无人机之间断开连接牵引力 F取0上式可以化简为
其中为重力加速度。
2在无人机的飞行高度为 300m飞行速度为 300km/h风速为 5m/s风向与水平面平行的情况下使用代码解决
import math# 定义常量
v0 300 # 飞行速度单位km/h
vw 5 # 风速单位m/s
h 300 # 飞行高度单位m
r 0.2 # 球形物资半径单位m
m 50 # 球形物资质量单位kg
g 9.8 # 重力加速度单位m/s^2# 计算投放距离
d0 v0**2/g * math.sin(0*2*math.pi/360) vw*v0/g * math.cos(0*2*math.pi/360)
d180 v0**2/g * math.sin(180*2*math.pi/360) vw*v0/g * math.cos(180*2*math.pi/360)
d90 v0**2/g * math.sin(90*2*math.pi/360) vw*v0/g * math.cos(90*2*math.pi/360)# 输出结果
print(f无人机飞行方向与风向相同时投放距离为{d0:.1f}m)
print(f无人机飞行方向与风向相反时投放距离为{d180:.1f}m)问题2 假设无人机在水平飞行过程中到达距离目标点的水平距离为 x 飞行高度为 ℎ 飞行速度为v 俯冲角度为 α 发射速度为 u 。则无人机发射炸弹的轨迹可以分解为水平方向和竖直方向两个分量。
在水平方向上无人机在 秒到达目标点发射炸弹的时间为 秒。发射炸弹时无人机的水平速度为vcosα 炸弹的水平初速度为 ucosα。
在竖直方向上炸弹自由落体运动竖直初速度为 usinα 竖直加速度为g 。设炸弹飞行的时间为 秒则有
将 t3 的值代入到水平方向上的运动中则可以求得无人机与目标点之间的距离 x1
假设无人机发射炸弹的距离为 d 则需要满足 1000≤d≤3000 。为了使无人机在发射炸弹时仍能保持安全的飞行高度假设无人机的飞行高度为 800m 则有 ℎ≥300m 。
为了使发射策略可行需要选择合适的俯冲角度 α 和发射速度u。假设 α 为定值可以根据上述模型求出发射速度u与发射距离d的关系并绘制出其图像如下图所示。
由图像可知当俯冲角度为 30∘ 时发射速度最小约为 426.8m/s 此时发射距离为d≈1716.2m
问题3 无人机的飞行稳定性可以用无人机的俯仰角和偏航角的变化率来描述即
其中 θ表示俯仰角 表示偏航角。这个数值越小说明无人机的飞行越稳定。
无人机的命中精度可以用命中目标的距离来描述与无人机的飞行稳定性呈反比关系即
在实际应用中可以通过无人机的传感器数据来计算无人机的俯仰角和偏航角的变化率并根据上述公式来评估无人机的飞行稳定性和命中精度。
import numpy as np
import matplotlib.pyplot as pltdef dynamic_equation(x, u):# 状态方程A np.array([[1, 0, 0, dt, 0, 0],[0, 1, 0, 0, dt, 0],[0, 0, 1, 0, 0, dt],[0, 0, 0, 1-0.5*rho*Cd*S/m*dt, 0, 0],[0, 0, 0, 0, 1-0.5*rho*Cd*S/m*dt, 0],[0, 0, 0, 0, 0, 1-0.5*rho*Cd*S/m*dt]])# 输入方程B np.array([[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, -0.5*rho*S*vx0**2/m*dt],[0, 0, 0, -0.5*rho*S*vx0**2/m*dt],[0, 0, 0, -0.5*rho*S*vx0**2/m*dt]])# 状态更新x_new np.dot(A, x) np.dot(B, u)return x_new# 定义无人机飞行过程的仿真函数
def simulate_flight(x0, u, t):# 初始化状态和控制输入x x0u u.reshape(-1, 1)# 初始化状态列表和控制输入列表x_list [x]u_list [u]# 循环仿真for i in range(len(t)):# 计算下一个状态x dynamic_equation(x, u)# 记录状态和控制输入x_list.append(x)、、模糊处理 完整版看文章下面~u_list.append(u)# 将列表转换为数组x_array np.array(x_list)u_array np.array(u_list)return x_array, u_array# 无人机和环境参数设置
h 800 # 飞行高度单位m
v0 300 # 无人机飞行速度单位km/h
v np.linspace(300, 400, 101) / 3.6 # 无人机相对地面速度单位m/s
vw np.array([6, 0]) # 风速单位m/s
gamma np.deg2rad(45) # 俯冲角单位rad
g 9.8 # 重力加速度单位m/s^2# 计算无人机稳定性
S 2 * np.pi * (0.5 ** 2) # 球形爆炸物的参考面积
Cd 0.5 # 球形爆炸物的阻力系数
m 50 # 球形爆炸物的质量单位kg
rho 1.2 # 空气密度单位kg/m^3
K 0.5 * rho * S * Cd / m # 阻力系数
u np.sqrt(v ** 2 (v0 * np.sin(gamma)) ** 2) # 爆炸物相对空气速度
D K * u ** 2 # 阻力大小
H h - np.sqrt((h ** 2) / (np.tan(gamma) ** 2 1)) # 爆炸物发射高度
t (H - 300) / (v0 * np.cos(gamma)) # 爆炸物发射时间
x0 v0 * t # 无人机前进距离
x x0 (v vw[0]) * t # 爆炸物水平位移距离
y H - (v0 * np.sin(gamma) (g vw[1]) * t) * t / 2 # 爆炸物垂直位移距离
delta_x 20 / 2 # 爆炸物命中误差单位cm
sigma delta_x / 3 # 标准差
P 1 / (sigma * np.sqrt(2 * np.pi)) * np.exp(-(x - delta_x) ** 2 / (2 * sigma ** 2)) # 命中概率密度函数
hit_rate np.trapz(P, x) # 命中率# 可视化结果
plt.plot(v, P)
plt.xlabel(Horizontal displacement (m))
plt.ylabel(Probability density)
plt.title(Hit probability density)
plt.show()print(The hit rate is %.2f%%. % (hit_rate * 100))cs数模团队在亚太赛 APMCM前为大家提供了许多资料的内容呀 具体可以看看我的下方的名片里面包含有亚太赛一手资料与分析 另外在赛中我们也会陪大家一起解析亚太赛APMCM的一些方向 关注 CS数模 团队数模不迷路