【数学建模】趣味数模问题——舰艇追击问题

问题描述

  • 某缉私舰位于走私船以东 d = 10 km,走私船以匀速 u = 8 km/h 向北沿直线行驶。
  • 缉私舰立即以速度 v= 12 km/h 追赶。
  • 缉私舰使用雷达进行跟踪,保持瞬时速度方向始终指向走私船。
  • 求解缉私舰的追逐路线和追上走私船所需的时间。

方法

  1. 理论求解:使用微分方程建模进行求解。
  2. 计算机模拟:使用Matlab进行仿真。

模型建立与分析

1. 使用微分方程建模进行求解

2. 计算机模拟

 

dt = 0.01;
n = 151;
d = 10;
u = 8;
v = 12;
T = d*v/(v*v-u*u); % 理论时间
x1 = zeros(n, 1); y1 = zeros(n, 1);
x2 = zeros(n, 1); y2 = zeros(n, 1);
x1(1) = 0; y1(1) = 0; % 走私船开始位置
x2(1) = d; y2(1) = 0; % 缉私舰开始位置

% 仿真曲线
for j = 1:n-1
    x1(j+1) = 0;  % 走私船横坐标
    y1(j+1) = (j+1)*dt*u; % 走私船纵坐标
    ct = (x1(j) - x2(j)) / sqrt((x1(j) - x2(j))^2 + (y1(j) - y2(j))^2);
    st = (y1(j) - y2(j)) / sqrt((x1(j) - x2(j))^2 + (y1(j) - y2(j))^2);
    x2(j+1) = x2(j) + v*dt*ct;  % 缉私舰横坐标
    y2(j+1) = y2(j) + v*dt*st;  % 缉私舰纵坐标     
end

% 理论曲线
x = d:-0.01:0;
k = u/v;
y = d/2 * ((x/d).^(1+k)/(1+k) - (x/d).^(1-k)/(1-k)) + d*k/(1-k^2);
plot(x1, y1, 'r', x2, y2, '-r', x, y, 'b');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值