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

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

A题 飓风与全球变暖

原题再现:

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

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

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

模型假设:

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

问题分析:

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

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


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

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

bash 复制代码
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
bash 复制代码
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名片即可
相关推荐
阡之尘埃4 小时前
Python数据分析案例61——信贷风控评分卡模型(A卡)(scorecardpy 全面解析)
人工智能·python·机器学习·数据分析·智能风控·信贷风控
布说在见7 小时前
层次与网络的视觉对话:树图与力引导布局的双剑合璧
信息可视化·数据挖掘·数据分析
阑梦清川11 小时前
数学建模启发式算法篇(一)---遗传算法
算法·数学建模·启发式算法
全栈开发圈13 小时前
新书速览|Spark SQL大数据分析快速上手
sql·数据分析·spark
spssau13 小时前
多分类logistic回归分析案例教程
分类·数据挖掘·数据分析·回归·回归分析·logistic回归·spssau
我就说好玩15 小时前
2020年美国总统大选数据分析与模型预测
大数据·python·数据挖掘·数据分析·pandas·sklearn
Aloudata16 小时前
在全域数据整合过程中,如何确保数据的一致性和准确性
大数据·数据库·人工智能·数据挖掘·数据分析
安静的_显眼包O_o17 小时前
【机器学习】连续属性离散化与sklearn.preprocessing.KBinsDiscretizer
数据挖掘·数据分析
叫我:松哥17 小时前
基于python多准则决策分析的汽车推荐算法设计与实现
python·算法·数据挖掘·数据分析·汽车·推荐算法
出发行进17 小时前
PySpark本地开发环境搭建
大数据·python·数据分析·spark·anaconda