2017年第六届数学建模国际赛小美赛A题飓风与全球变暖解题全过程文档及程序

news2024/11/26 16:30:39

2017年第六届数学建模国际赛小美赛

A题 飓风与全球变暖

原题再现:

  飓风(也包括在西北太平洋被称为“台风”的风暴以及在印度洋和西南太平洋被称为“严重热带气旋”)具有极大的破坏性,往往造成数百人甚至数千人死亡。
  许多气象学家一致认为,在过去的几十年里,全球变暖(大约半摄氏度)已经发生在地球表面,而且这种趋势可能会继续下去。问题是,全球变暖对飓风活动意味着什么?请构造一个合理的模型,测量全球变暖的程度和全球飓风活动的强度,并估计两者之间的关系。

整体求解过程概述(摘要)

  全球变暖被认为是影响飓风强度的重要因素之一。全球变暖对飓风影响的研究已经展开,但尚未得出确切的结论。
  本文通过建立模型来衡量全球变暖的程度和飓风的强度,并得出它们之间的关系。
  在模型1中,建立了反映全球变暖程度的评价指标体系。采用熵权法计算各变量的权重。然后类比动量方程,建立一个综合指标来表征全球变暖的程度。
  在模式2中,我们对海温如何影响单个飓风进行了微观分析。建立运动方程,分析速度梯度和温度梯度之间的关系。然后应用回归分析方法,求出海温、强度、速度、加速度、压力、运动方向之间的相关关系。通过聚类分析将模型推广到一般情况。结果表明,海温直接影响飓风的运动路径,改变加速度的方向和值。海温对飓风的压力和速度也有影响。在此基础上,进一步得出温度与飓风频率密度分布关系不大的结论。
  在模式3中,分别分析了不同地区的飓风强度特征,计算出全球变暖程度的相关性。结果表明,飓风强度与全球蠕虫的关系因地区而异。尤其在东太平洋地区,飓风强度与全球变暖呈负相关。这可以用厄尔尼诺现象来解释。
  在模型4中,我们定义了一个基于总能量耗散的飓风潜在破坏性(PDI)指数来表示飓风的强度,然后进行回归以确定与全球变暖的关系。结果表明,PDI与热带海表温度相关,反映了已有的气候信号,但与飓风频率的关系更为显著。
  在模型5中,我们建立了预测模型,并对PDI和GWD的趋势进行了预测,结果表明全球GWD面临急剧增长,而PDI仍将处于波动之中。最后给出了未来PDI和GWD的可能值。
  最后,分析了本文提出的方法的优缺点。该研究在现实世界中也具有一定的应用价值。

模型假设:

  (1) 数据来源真实可靠
  (2) 全球变暖的程度主要体现在海平面、冰山数量和高度、海表温度、全球温度等方面。
  (3) 全球变暖的程度主要受人口、温室气体排放、森林覆盖率等因素的影响。
  (4) 飓风强度的大小主要受强度等级、飓风频次、各等级飓风频次的影响。

问题分析:

  现将问题分为以下具体分析,根据要求可分为两个子部分:
  建立模型,了解全球变暖对飓风活动的影响。
  构建一个合理的模型,测量全球变暖的程度和全球飓风活动的强度,并估计两者之间的关系。
  解决问题可分为3个步骤:
  分别分析了飓风的运动特征,得出了温度变化对飓风的影响。
  分析全球变暖与不同地区飓风强度的关系。比较得出结论。
  分析全球变暖对全球飓风强度的影响。
  为了解决每个环节的问题,我们建立了综合评价指标体系,定义了三个体系的层次:
  全球变暖影响全球变暖的因素,这些因素表达了飓风强度的程度。每个索引包含不同的对应变量。通过分析各指标之间的关系,可以得出全球变暖对飓风强度的影响。

模型的建立与求解整体论文缩略图

在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:(代码和文档not free)

D=[];
D0=DC;
D1=D0(1:,6);
D2=D0(1:,7);
D3=D0(1:,8);
D4=D0(1:,9);
e1=mean(D1);
e2=mean(D2);
e3=mean(D3);
e4=mean(D4);
d1=std(D1);
d2=std(D2);
d3=std(D3);
d4=std(D4);
for i=1:6349
 if abs(D1(i)
-e1)>3*d1
 D0(i,:)=
-1;
 end
 if abs(D2(i)
-e2)>3*d1
 D0(i,:)=
-1;
 end
 if abs(D3(i)
-e3)>3*d1
 D0(i,:)=
-1;
 end
 if abs(D4(i)
-e4)>3*d1
 D0(i,:)=
-1;
 end
end
for i=1:6349
 if D0(i,1)~=
-
1
 D=[D;D0(i,:)];
 end
end
clc,clear
gmr=xlsread('data'
,'V2:X30'); 
ppl=gmr(:,1); 
carb=gmr(:,2); 
forest=gmr(:,3); 
sst=xlsread('data'
,'I2:I30'); 
ssh=xlsread('data'
,'Q2:Q30'); 
ice=xlsread('data'
,'N2:N30') ; 
sst_entropy=xlsread('data'
,'J2:J30'); 
gmf=[sst ssh ice sst_entropy]; 
temp=xlsread('data'
,'B2:B30');
gmr_min=min(gmr);
gmr_max=max(gmr);
gmf_min=min(gmf);
gmf_max=max(gmf);
for i=1:length(gmr);
 for j=1:3
 if j==3
gmr_nor(i,j)=(gmr_max(j)-gmr(i,j))/(gmr_max(j)-gmr_min(j));
 else
 gmr_nor(i,j)=(gmr(i,j)-gmr_min(j))/(gmr_max(j)-gmr_min(j));
 end
 end
end
for i=1:length(gmf)
 for j=1:4
 if j==3
 gmf_nor(i,j)=(gmf_max(j)-gmf(i,j))/(gmf_max(j)-gmf_min(j));
 else
 gmf_nor(i,j)=(gmf(i,j)-gmf_min(j))/(gmf_max(j)-gmf_min(j));
 end
 end
end
EWr=EntropyWeight(gmr_nor);
EWf=EntropyWeight(gmf_nor);
alpha=gmr_nor*EWr';
beta=gmf_nor*EWf';
GWD=0.5*alpha.*alpha.*beta;
figure 
t=1980:2008;
plot(t,beta,'k',t,alpha,'r')
xlabel('year')
hold on
[ax,h1,h2]=plotyy(t,GWD,t,temp)
set(ax(2),'ytick',[14:0.1:14.7]) 
set(ax(1),'ytick',[0:0.1:1])
set(h1,'color','m');
set(h2,'color','b');
legend('The Present Index of Global Warming','The Motivation of Global Warming','The Extent
of Global Warming','Global Average Temperature')
%xlabel('year'), ylabel('global average temperature '),title('Global Average Temperature')
%figure 
%t=1980:2008;
%plot(t,beta,'k')
%xlabel('year'), ylabel('the present index of global warming beta'),title('The Present Index of 
Global Warming')
%figure
%plot(t,alpha,'r')
%xlabel('year'), ylabel('the motivation of global warming alpha'),title('The Motivation of Global 
Warming')
%figure
%plot(t,GWD)
%xlabel('year'), ylabel('GWD'),title('The Extent of Global Warming')
%figure
%plot(t,temp,'m')
%xlabel('year'), ylabel('global average temperature '),title('Global Average Temperature')
function weights = EntropyWeight(R)
[rows,cols]=size(R); 
k=1/log(rows); 
f=zeros(rows,cols); 
sumBycols=sum(R,1); 
for i=1:rows
 for j=1:cols
 f(i,j)=R(i,j)./sumBycols(1,j);
 end
end
lnfij=zeros(rows,cols); 
for i=1:rows
 for j=1:cols
 if f(i,j)==0
 lnfij(i,j)=0;
 else
 lnfij(i,j)=log(f(i,j));
 end
 end
end
Hj=-k*(sum(f.*lnfij,1)); 
weights=(1-Hj)/(cols-sum(Hj));
end
clc
clear
I=xlsread('飓风数据.xlsx','Sheet1','I2:T61');
yyy=xlsread('飓风数据.xlsx','Sheet1','A2:A61');
E=zeros(60,1);
for ii=1:60
 E(ii)=entropy(I(ii,:));
end
clc
clear
I=xlsread(' 飓风数据.xlsx','I2:T61');
yyy=xlsread('飓风数据.xlsx','Sheet1','A2:A61');
E=zeros(60,1);
for ii=1:60
 E(ii)=entropy(I(ii,:));
end
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1325201.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SVN搭建指导

环境 centos 7.9 SVN安装方式一:yum 1.1 http服务 至今还没有搞定网页版,网页版需要搭建apache http服务。遇到如下问题: centos - svn: Could not open the requested SVN filesystem - Stack Overflow 在试了加777权限,加a…

校园圈子交友系统,APP小程序H5,三端源码交付,支持二开!实名认证,大V认证,地图找伴,二手平台!

校园圈子交友系统,是属于自主定义开发的系统,内容有很多,先截取一些给大家看看,让大家更多的了解本系统,然后再做评价! 校园后端下载地址:校园圈子系统小程序,校园拼车,校…

Pycharm 关闭控制台多余窗口详解(console)

文章目录 1 问题描述2 解决办法2.1 步骤1:编辑配置2.2 步骤2:使用 Python 控制台运行(取消勾选)2.3 验证:再次运行,多余窗口消失 1 问题描述 2 解决办法 2.1 步骤1:编辑配置 菜单路径&#xf…

【bug日记】如何切换jdk版本,如何解决java和javac版本不一致

背景 今天在安装jenkins后,使用java运行war包的时候,提示jdk1.8版本太低,需要提高版本,所以就需要切换jdk版本 解决 在用户变量中,首先更改了JAVA_HOME的地址为17的目录,发现javac的版本改为17了&#x…

云原生扫盲篇

What 云原生加速了应用系统与基础设施资源之间的解耦,向下封装资源以便将复杂性下沉到基础设施层;向上支撑应用,让开发者更关注业务价值 云原生是一种构建和运行应用程序的方法,也是一套技术体系和方法论. Cloud 表示应用程序位于云中而不是传统的数据中心Native表示应用程序从…

函数帧栈的创建和销毁(一)

目录 什么是函数栈帧 理解函数栈帧能解决什么问题 函数栈帧的创建和销毁 什么是栈 认识相关寄存器和汇编指令 相关寄存器 相关汇编命令 esp和ebp 解析函数栈帧的创建和销毁 学前补充 函数的调用堆栈 什么是函数栈帧 我们在写C 语言代码的时候,经常会把…

ThinkPad E550c

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:…

java8实战 lambda表达式、函数式接口、方法引用双冒号(中)

前言 书接上文,上一篇博客讲到了lambda表达式的应用场景,本篇接着将java8实战第三章的总结。建议读者先看第一篇博客 其他函数式接口例子 上一篇有讲到Java API也有其他的函数式接口,书里也举了2个例子,一个是java.util.functi…

2-高可用-负载均衡、反向代理

负载均衡、反向代理 upstream server即上游服务器,指Nginx负载均衡到的处理业务的服务器,也可以称之为real server,即真实处理业务的服务器。 对于负载均衡我们要关心的几个方面如下: 上游服务器配置:使用upstream server配置上…

mysql 23day DDL常用约束,数据类型

目录 数据库的四种语言常用约束(DDL)创建格式PRIMARY KEY:主键约束FOREIGN KEY:外键约束主键外键 联合测试开始测试 NOT NULL:非空约束UNIQUE:唯一约束DEFAULT:默认值约束zerofill 零填充auto_i…

vcomp140.dll丢失怎么办,vcomp140.dll丢失解决方法详解

在我多年的电脑使用经历中,我曾经遇到过一个非常棘手的问题,那就是vcomp140.dll丢失。这个问题让我苦恼了很久,但最终我还是找到了解决方法。今天,我想和大家分享一下我的经历,以及vcomp140.dll是什么,它丢…

AI创作系统ChatGPT商业运营网站系统源码,支持AI绘画,GPT语音对话+DALL-E3文生图

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Ch…

用全志R128复刻自平衡赛车机器人,还实现了三种不同的操控方式

经常翻车的朋友们都知道,能在翻车后快速摆正车身的车才是好车。 就像动画《四驱兄弟》中展现的那样,在比赛中需要跟着赛车一起跑圈,而且赛车如果被撞翻还需要重新用手扶正,所浪费的时间非常影响比赛结果。 如果小豪和小烈可以拥有…

[电子榨菜] js中的闭包closure

0.写在前面: 下学期就打算去实习了,这段时间要密集接收考试和面试的捶打,计网和软工就没有办法为大家继续贡献开源内容了,明年九月份之前的更新内容将会以前端,人工智能,和工程设计为基础, 很抱歉啦,不过我还是希望我这一年来的努力可以帮到一些人.虽然自己这一年过的浑浑噩噩…

Docker容器的优化和性能调优技巧

Docker已经成为了现代应用程序开发和部署的核心工具之一。然而,要确保Docker容器在生产环境中运行稳定、高效,需要一些优化和性能调优的技巧。本文将介绍一些关键的Docker容器优化和性能调优策略,并提供丰富的示例代码,以帮助大家…

【精简】mysql创建自定义函数 sql写法举例

一,举例的sql是查询 某个时间点某个币种的汇率 create function get_rate(idate date,CURRENCY varchar(32)) returns decimal(21,6) begin declare res decimal(21,6) default 1;selec rate into resfromt_exchangerate tewhere ratedate idateand CURRENCYID C…

Apache Pulsar 技术系列 - PulsarClient 实现解析

导语 Apache Pulsar 是一个多租户、高性能的服务间消息传输解决方案,支持多租户、低延时、读写分离、跨地域复制(GEO replication)、快速扩容、灵活容错等特性。同时为了达到高性能,低延时、高可用,Pulsar 在客户端也…

【Linux C | 文件I/O】文件的打开关闭 | open、creat、colse 函数

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

windows安装、基本使用vim

标题:windows安装、基本使用vim 1.下载并安装GVIM 百度网盘链接 提取码:2apr 进入安装界面,如下,勾选 其它都是默认即可 参考; 2.在powershell中使用vim 参考blog:window10安装vim编辑器 安装好后&…

SpringBoot+WebSocket

SpringBootWebSocket 1.导入依赖&#xff1a; -- Spring Boot 2.x 使用 javax.websocket-- Spring Boot 3.x 使用 jakarta.websocket<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId&g…