2024年深圳杯&东三省联赛数模竞赛A题代码改进-更加合理的结果

文章详细描述了深圳杯比赛后对火箭分离高度的计算改进,引用了不同火箭型号的数据,并展示了MATLAB代码示例,涉及非线性最小化求解音爆点的位置。
摘要由CSDN通过智能技术生成

4月下旬深圳杯开赛后第二天就推出了完整版的论文,经过长达半个月大家再售后群的讨论分析,我们又重新对之前思路下写的代码进行了改进。本次改进的结果,我们特地参考了网上一些常见的火箭及其相关的级别分离高度:(我们的新计算结果与其高度重合)

深圳杯A题分享资料链接:链接:百度网盘 请输入提取码 提取码:sxjm

  1. 美国的“阿特拉斯 V”火箭:

    • 助推器分离:通常在飞行后约2分钟,大约在44公里(约144,000英尺)的高度分离。

    • 一级分离:约在飞行4分钟后,大约在100公里(约328,000英尺)的高度进行分离。

  2. 美国“猎鹰9”火箭:

    • 助推器分离(如果使用助推器):通常在飞行后2分半钟,约在高度50公里(约164,000英尺)。

    • 一级分离:在飞行约2分半到3分钟,大约在高度70公里(约230,000英尺)左右。

  3. 俄罗斯的“联盟”火箭:

    • 助推器分离:通常在飞行后2分钟,大约在高度45-50公里(约150,000-164,000英尺)。

    • 一级分离:大约在飞行2分半到3分钟,高度约105-120公里(约344,000-394,000英尺)。

  4. 欧洲的“阿丽亚娜5”火箭:

    • 助推器分离:大约在飞行2分钟后,高度约70公里(约230,000英尺)。

    • 一级分离:飞行时间约9分钟,大约在高度160公里(约525,000英尺)。

      本次更新我们又增加了三种问题一,一种问题二三,一种问题四的matlab代码。部分结果大家可以参考一下

以下为问题一改进后的三种代码其中一种:粘贴复制 可直接运行

% 初始化数据

data = [

    110.241, 27.204, 824, 100.767;

    110.780, 27.456, 727, 112.220;

    110.712, 27.785, 742, 188.020;

    110.251, 27.825, 850, 258.985;

    110.524, 27.617, 786, 118.443;

    110.467, 27.921, 678, 266.871;

    110.047, 27.121, 575, 163.024

];

% 距离换算因子(米)

lon_dist_per_deg = 111320;  % 经度每度的距离(m)

lat_dist_per_deg = 110574;  % 纬度每度的距离(m)

% 音速(米/秒)

c = 340;

% 转换经纬度到米

x = (data(:,1) - mean(data(:,1))) * lon_dist_per_deg;

y = (data(:,2) - mean(data(:,2))) * lat_dist_per_deg;

z = data(:,3);

t = data(:,4);

% 初始猜测

x0 = mean(x);

y0 = mean(y);

z0 = max(z);  % 使用最高的设备高程作为初始猜测

t0 = min(t);

% 非线性最小化设置

options = optimset('Display', 'iter', 'TolFun', 1e-6, 'TolX', 1e-6);

% 优化函数

objective = @(v) sum((sqrt((x-v(1)).^2 + (y-v(2)).^2 + (z-v(3)).^2) - c * (t - v(4))).^2);

% 添加高程非负约束

lb = [-Inf, -Inf, 0, -Inf];

ub = [Inf, Inf, Inf, Inf];

% 执行优化

[v, fval, exitflag, output] = fmincon(objective, [x0 y0 z0 t0], [], [], [], [], lb, ub, [], options);

% 将结果转换回经纬度和高程

final_lon = v(1) / lon_dist_per_deg + mean(data(:,1));

final_lat = v(2) / lat_dist_per_deg + mean(data(:,2));

final_z = v(3);

final_t = v(4);

% 结果输出

fprintf('音爆发生的经度: %f°, 纬度: %f°, 高程: %f m 和时间: %f s\n', final_lon, final_lat, final_z, final_t);

% 可视化

figure;

hold on;

scatter3(x, y, z, 'filled');

plot3(v(1), v(2), v(3), 'rp', 'MarkerSize', 15, 'MarkerFaceColor', 'r');

text(v(1), v(2), v(3), sprintf(' 音爆点\n(%.2f, %.2f, %.2f)', final_lon, final_lat, final_z), 'VerticalAlignment', 'bottom');

xlabel('X (meters)');

ylabel('Y (meters)');

zlabel('Z (meters)');

title('监测设备和音爆位置');

legend('监测设备位置', '计算得到的音爆位置');

grid on;

view(3);

hold off;

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
很抱歉,我无法提供2023深圳杯东三省数学建模ABC的具体思路和代码。根据您引用的内容,第一条引用是关于影响城市居民身体健康因素的分析,第二条引用是关于初步选建议及思路,第三条引用是关于2020东三省数学建模A的论文展示和包含的问解决 Matlab 和 Python 代码。由于我无法获取具体的目内容和考察要求,所以无法提供关于2023深圳杯数学建模ABC的思路和代码。建议您参考相关的数学建模教材和资料,或咨询老师和同学获得更准确的答案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [2023深圳杯东三省数学建模ABC思路及代码](https://blog.csdn.net/smppbzyc/article/details/131966041)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [2020东三省数学建模A新冠病毒疫情论文](https://download.csdn.net/download/qq_40957277/19779291)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值