当前位置: 首页 > news >正文

2020年第九届数学建模国际赛小美赛C题亚马逊野火解题全过程文档及程序

2020年第九届数学建模国际赛小美赛

C题 亚马逊野火

原题再现:

  野火是指发生在乡村或荒野地区的可燃植被中的任何不受控制的火灾。这样的环境过程对人类生活有着重大的影响。因此,对这一现象进行建模,特别是对其空间发生和扩展进行建模,是支持政府和公共机构控制和风险管理野火季节的相关任务。
  火灾数据通常以时空事件的形式提供,即给定研究的地理区域,在特定时间收集一些感兴趣的测量值。在全球范围内,火灾活动主要通过中分辨率成像光谱仪(MODIS)等卫星仪器收集。MODIS在美国国家航空航天局(NASA)运行的Aqua和Terra卫星上运行。请使用这些数据分析亚马逊流域的火灾事件,并确定火灾事件的时空模式。发现的任何模式都将有助于提高森林火灾的认识和预防工作。

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

  2019年亚马孙森林火灾引起了全世界对亚马孙森林火灾危机的关注。为了降低这一事件再次发生的概率,我们将在2019年8月逐步细化亚马逊森林的时空统计分布格局,从宏观火场到具体火势蔓延的时空格局。
  首先,建立火点识别模型。查找识别已发生火灾的数据点。我们将根据通道21/20的温度、通道31的温度、表面温度和数据的置信水平来识别火灾。
  然后将上述数据导入Tableau,得到亚马逊地区火力点的地理分布图。在地图上,我们可以看到亚马逊地区的火灾主要分布在三个危险区域。这三个危险区域显示为三角形、椭圆形和平行四边形。三角危险区位于南美洲北部。椭圆形危险区是巴西北部城市罗莱马。平行四边形危险区连接巴西中部、韦尔瓦和秘鲁。
  在此之后,我们探索了亚马逊的时间模式。在亚马逊河流域内,多年来发生了大量的火灾,这些火灾集中在每年的8月、9月和10月。其日常数据不规则,但存在距离和时间相近的火灾数据点。因此,我们推测,可能会有重复记录火灾由于问题,如像素捕捉精度的卫星。基于这个猜想,
  建立了火灾中心确定模型。采用迭代算法对1KM内的火点进行均匀化处理,数据记录时差小于2天。
  最后,为了研究2019年亚马逊地区火灾蔓延的时空格局,我们建立了火源点确定模型。利用Tableau计算火点之间的距离和时差,找出10KM内最早、最亮的火点作为火源点。以火源点为基准建立笛卡尔坐标系,在10KM范围内找到距离火源点最大的火源点。求解了两点间的扩散速度和扩散方向。我们选取了2019年8月50个火源点的数据,计算得出2019年火源一般向东北或西南方向移动,蔓延速度分别约为0.72km/h和0.51km/h。
  在此基础上,得出了火灾发生前重点防控的时间和地点。我们还得到了火灾发生时可能的蔓延方向,即要聚焦的路径。

模型假设:

  •忽略火灾蔓延的地形特征。
  •同一火灾中涉及的区域可视为平坦。
  •所有出现在10 km范围内的火灾均从火源蔓延。
  •本文中使用的数据均有效。

问题重述:

  问题背景

  森林火灾是人类无法控制的,在林地内自由蔓延和扩大,对森林、森林生态系统和人类造成一定的危害和破坏。
  2019年亚马逊森林火灾频发,INPE报告截至2019年8月29日巴西发生火灾超过80000起,在同一跟踪期间同比增长77%。玻利维亚、巴拉圭和秘鲁报告了随后的火灾,截至2019年8月29日,火灾逐年增加,这三个国家在2019年的火灾总数分别超过19000起、11000起和6700起。据《商业内幕》报道,到2019年,亚马逊生物群落的森林损失预计将超过906000公顷(2.24*106英亩;9060km^2;3500平方英里)。除了对全球气候的影响外,火灾排放的二氧化碳和一氧化碳过多还造成环境问题,对亚马逊的生物多样性造成潜在影响,并威胁到生活在森林中的土著部落。

在这里插入图片描述
  除环境损害外,导致野火的刀耕火种行动还威胁到居住在雨林附近或雨林内的巴西约306 000土著人民。为避免亚马逊河流域特大森林火灾事故的重复发生,分析了亚马逊河流域火灾的时空分布规律,以期在火灾控制方面取得突破。

  我们的工作
  为了研究亚马逊森林火灾的时空格局,需要对亚马逊森林火灾数据进行识别和处理。我们需要建立模型来识别真实的火灾现场,然后对火灾现场的时空特征进行建模分析。
  为解决此问题,我们的团队将执行以下操作:
  •建立火点识别模型。根据MODIS提供的279万个数据点的置信水平和通道波长反映的温度数据,识别潜在的真实火灾。
  •分析亚马逊流域火灾的空间特征。确定亚马逊河流域的火灾危险区,在那里人们或政府当局需要保持警惕。
  •分析亚马逊流域火灾的时间特征。我们将根据年份、季节和月份来查看其时间模式。
  •根据观测点的时间和空间信息,调查未来我们应如何应对火灾。根据各观测点的时间和温度特征,确定各小范围(10km)火灾的起止点,表征火灾变化方向和速度的概率分布。

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

在这里插入图片描述

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

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

%Read Data
clear;
% Initializing parameters
coordinate_file = 'lat_lng.xlsx';
[num,txt] = xlsread(coordinate_file);
Lat=num(1:1451,2);
Lng=num(1:1451,3);
Latg=[Lat.*111,Lng.*111];
D = pdist(Latg);
DD=D;
zz= squareform(D);
for i=1:1051975
if D(i) > 1
D(i)=0;
end
end
Z = squareform(D);
[x,y]=find(Z~=0);
for i=1:1222
for j=1:1222
if (x(i)==y(j)) && (x(j)==y(i))&&(i<j)
x(j)=x(i),y(j)=y(i);
end
end
end
for i=1:1222
for j=1:1222
if x(i)==y(j)
y(j)=0;
end
end
end
z=[x,y];
for i=1:1222
for j=i+1:1222
if x(i)==x(j)
x(j)=0;
end
end
end
x2=find(x~=0);
x22=x(x2);
x22=x22';
xml=1:1:1451;
for i=1:365
for j=1:1451
if(x22(i)~=j)
xml(j)=xml(j);
else
xml(j)=0;
end
end
end
xmll=find(xml~=0)
xmll=xmll';
Lx=num(1:1086,7)';
Ly=num(1:1086,8)';
Lz=num(1:1086,9)';
xx= -16:1:-4; %linspace(-16,10,1451);
yy= -65:1:-59; %linspace(-78,-42,1451);
[XX,YY]=meshgrid(xx,yy);
zm=griddata(Lx,Ly,Lz,XX,YY,'v4');
surf(xx,yy,zm)
xlabel(' Latitude ');
ylabel(' Longitude ');
zlabel(' temperature(K)');
2、angle_circulation
coordinate_file = 'a.xlsx';
[num,txt] = xlsread(coordinate_file);
x1=num(11:50,2)'./57.3;
y1=num(11:50,3)'./57.3;
x2=num(11:50,4)'./57.3;
y2=num(11:50,5)'./57.3;
for i=1:40
b(i)=atan((x2(i)-x1(i))./(y2(i)-y1(i)));
end
b1=57.3.*b';
3、Sensitive Analysis
coordinate_file = 'lat_lng.xlsx';
[num,txt] = xlsread(coordinate_file);
Lat=num(1:1451,2);
Lng=num(1:1451,3);
Latg=[Lat.*111,Lng.*111];
D = pdist(Latg);
DD=D;
zz= squareform(D);
for i=1:1051975
if D(i) > 1
D(i)=0;
end
end
Z = squareform(D);
[x,y]=find(Z~=0);
for i=1:1222
for j=1:1222
if (x(i)==y(j)) && (x(j)==y(i))&&(i<j)
x(j)=x(i),y(j)=y(i);
end
end
end
for i=1:1222
for j=1:1222
if x(i)==y(j)
y(j)=0;
end
end
end
z=[x,y];
for i=1:1222
for j=i+1:1222
if x(i)==x(j)
x(j)=0;
end
end
end
x2=find(x~=0);
x22=x(x2);
x22=x22';
xml=1:1:1451;
for i=1:365
for j=1:1451
if(x22(i)~=j)
xml(j)=xml(j);
else
xml(j)=0;
end
end
end
xmll=find(xml~=0)
xmll=xmll';
x=[0.75,0.8,0.85,0.9,0.95,1,1.05,1.1,1.15,1.2,1.25];
y=[1459,1259,1197,1135,1101,1086,991,902,856,804,659];
plot(x,y)
axis([0.75 1.25 0 2000]);
xlabel('Assimilation Distance');
ylabel('Residual fire points');
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

相关文章:

2020年第九届数学建模国际赛小美赛C题亚马逊野火解题全过程文档及程序

2020年第九届数学建模国际赛小美赛 C题 亚马逊野火 原题再现&#xff1a; 野火是指发生在乡村或荒野地区的可燃植被中的任何不受控制的火灾。这样的环境过程对人类生活有着重大的影响。因此&#xff0c;对这一现象进行建模&#xff0c;特别是对其空间发生和扩展进行建模&…...

保姆级 Keras 实现 YOLO v3 三

保姆级 Keras 实现 YOLO v3 三 一. 分配 anchor box二. 正负样本匹配规则三. 为每一个 anchor box 打标签3.1 anchor box 长什么样?3.2 每一个 anchor box 标签需要填充的信息有哪些?3.3 ( Δ x , Δ y , Δ w , Δ h ) (\Delta x, \Delta y, \Delta w, \Delta h) (Δx,Δy,…...

HPM6750系列--第十篇 时钟系统

一、目的 上一篇中《HPM6750系列--第九篇 GPIO详解&#xff08;基本操作&#xff09;》我们讲解了HPM6750 GPIO相关内容&#xff0c;再进一步讲解其他外设功能之前&#xff0c;我们有必要先讲解一下时钟系统。 时钟可以说是微控制器系统中的心脏&#xff0c;外设必须依赖时钟才…...

【简单总结】中断类型号 中断向量 中断入口地址

通过中断类型号可以计算出中断向量的地址。 然后根据该地址可以在中断向量表中取出中断服务程序的入口地址&#xff08;中断向量&#xff09;。 而中断向量就是中断服务程序入口地址。 做个不严谨的图&#xff1a; 1&#xff1a;通过中断类型号找到中断向量 2&#xff1a;通…...

【Python百宝箱】从传感器到云端:深度解析Python在物联网中的多面应用

迈向智能未来&#xff1a;Python与物联网生态系统的完美融合 前言 随着物联网技术的不断发展&#xff0c;Python作为一种灵活且强大的编程语言&#xff0c;逐渐成为物联网开发的重要工具之一。本文将深入探讨物联网领域中常用的Python库和框架&#xff0c;涵盖了从轻量级通信…...

weston 1: 编译与运行傻瓜教程(补充)

系统kubuntu23.10 git clone https://gitlab.freedesktop.org/wayland/wayland.git 86588fbdebe7f6ac9363d98f524e4ae14bd4b019 meson build/ --prefix$WLD ninja -C build/ install git clone https://gitlab.freedesktop.org/wayland/wayland-protocols.git c4f559866f13…...

微服务保护--线程隔离(舱壁模式)

一、线程隔离的实现方式 线程隔离有两种方式实现&#xff1a; 线程池隔离 信号量隔离&#xff08;Sentinel默认采用&#xff09; 如图&#xff1a; 线程池隔离&#xff1a;给每个服务调用业务分配一个线程池&#xff0c;利用线程池本身实现隔离效果 信号量隔离&#xff1a…...

集群监控Zabbix和Prometheus

文章目录 一、Zabbix入门概述1、Zabbix概述2、Zabbix 基础架构3、Zabbix部署3.1 前提环境准备3.2 安装Zabbix3.3 配置Zabbix3.4 启动停止Zabbix 二、Zabbix的使用与集成1、Zabbix常用术语2、Zabbix实战2.1 创建Host2.2 创建监控项&#xff08;Items&#xff09;2.3 创建触发器&…...

K8S(七)—污点、容忍

目录 污点、容忍污点&#xff08;Taints&#xff09;&#xff1a;容忍&#xff08;Tolerations&#xff09;&#xff1a;如何一起使用污点和容忍&#xff1a;操作符&#xff08;Equal、Exists&#xff09;例子基于污点的驱逐基于节点状态添加污点 污点、容忍 官网地址&#xf…...

新视野大学英语1 词组 12.17

embarrassment和awkwardness的区别以及各自的组词。 "Embarrassment" 和 "awkwardness" 都可以用来描述一种尴尬或不舒服的感觉&#xff0c;但它们有一些微妙的区别。 "Embarrassment" 指的是由于尴尬、困窘或难堪的情况而产生的感觉。 这种感觉…...

springboot实战项目之使用AOP技术实现各种角色的鉴权功能

前言 项目开发需求&#xff0c;会员有不同的角色&#xff0c;不同的角色被赋予不同的权限&#xff0c;这就需要对会员的操作进行鉴权处理。 方案 采用aop&#xff0c;可实现满足这种需求&#xff0c;创建匿名类。对外提供接口的时候都会拦截&#xff0c;这种会有弊端&#x…...

华为配置基本QinQ示例

组网需求 如图1所示&#xff0c;网络中有两个企业&#xff0c;企业1有两个分支&#xff0c;企业2有两个分支。这两个企业的各办公地的企业网都分别和运营商网络中的SwitchA和SwitchB相连&#xff0c;且公网中存在其它厂商设备&#xff0c;其外层VLAN Tag的TPID值为0x9100。 现…...

【漏洞复现】系列集合

该篇文章仅供学习网络安全技术参考研究使用&#xff0c;请勿使用相关技术做违法操作 Apache Apache_HTTPD_未知后缀名解析Apache_HTTPD_换行解析(CVE-2017-15715)Apache_HTTPD_多后缀解析Apache_HTTP_2.4.50_路径穿越(CVE-2021-42013)Apache_HTTP_2.4.49_路径穿越(CVE-2021-41…...

TCP报文头(首部)详解

本篇文章基于 RFC 9293: Transmission Control Protocol (TCP) 对TCP报头进行讲解&#xff0c;部分内容会与旧版本有些许区别。 TCP协议传输的数据单元是报文段&#xff0c;一个报文段由TCP首部&#xff08;报文头&#xff09;和TCP数据两部分组成&#xff0c;其中TCP首部尤其重…...

第4章-第1节-初识Java的数组

1、数组 属于Java内存层面的一款容器(crud操作)。 概念&#xff1a; 内存中的一块存储区域(空间)&#xff0c;内部有一组连续的小区域(元素空间)&#xff0c;有数据类型的限定&#xff0c;可以存入一组匹配类型的数据&#xff0c;并且根据需要可以改动元素空间中的数据内…...

大数据技术10:Flink从入门到精通

导语&#xff1a;前期入门Flink时&#xff0c;可以直接编写通过idea编写Flink程序&#xff0c;然后直接运行main方法&#xff0c;无需搭建环境。我碰到许多初次接触Flink的同学&#xff0c;被各种环境搭建、提交作业、复杂概念给劝退了。前期最好的入门方式就是直接上手写代码&…...

IDEA中工具条中的debug按钮不能用了显示灰色

IDEA中工具条中的debug按钮不能用了显示灰色 1. 问题描述 IDEA上的DEBUG按钮突然变成了灰色&#xff1a; 2. 解决办法 一通搜索&#xff0c;终于找到解决办法 点击 File -> Project Structure如下图操作 3. 重启&#xff0c;解决 4. 参考 https://www.cnblogs.com…...

【MySQL内置函数】

目录&#xff1a; 前言一、日期函数获取日期获取时间获取时间戳在日期上增加时间在日期上减去时间计算两个日期相差多少天当前时间案例&#xff1a;留言板 二、字符串函数查看字符串字符集字符串连接查找字符串大小写转换子串提取字符串长度字符串替换字符串比较消除左右空格案…...

C++相关闲碎记录(14)

1、数值算法 &#xff08;1&#xff09;运算后产生结果accumulate() #include "algostuff.hpp"using namespace std;int main() {vector<int> coll;INSERT_ELEMENTS(coll, 1, 9);PRINT_ELEMENTS(coll);cout << "sum: " << accumulate(…...

18、vue3(十八):菜单权限,按钮权限,打包,发布nginx

目录 一、菜单权限和路由拆分 1.思路分析 2.深拷贝插件 3.代码实现 4.效果展示...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中&#xff0c;集合判空是一个常见但容易出错的场景。传统方式虽然可行&#xff0c;但存在一些潜在问题&#xff1a; // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...

消息队列系统设计与实践全解析

文章目录 &#x1f680; 消息队列系统设计与实践全解析&#x1f50d; 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡&#x1f4a1; 权衡决策框架 1.3 运维复杂度评估&#x1f527; 运维成本降低策略 &#x1f3d7;️ 二、典型架构设计2.1 分布式事务最终一致…...