2011年国赛高教杯数学建模A题城市表层土壤重金属污染分析解题全过程文档及程序

news2024/10/21 14:37:03

2011年国赛高教杯数学建模

A题 城市表层土壤重金属污染分析

  随着城市经济的快速发展和城市人口的不断增加,人类活动对城市环境质量的影响日显突出。对城市土壤地质环境异常的查证,以及如何应用查证获得的海量数据资料开展城市环境质量评价,研究人类活动影响下城市地质环境的演变模式,日益成为人们关注的焦点。
  按照功能划分,城区一般可分为生活区、工业区、山区、主干道路区及公园绿地区等,分别记为1类区、2类区、……、5类区,不同的区域环境受人类活动影响的程度不同。
  现对某城市城区土壤地质环境进行调查。为此,将所考察的城区划分为间距1公里左右的网格子区域,按照每平方公里1个采样点对表层土(0~10 厘米深度)进行取样、编号,并用GPS记录采样点的位置。应用专门仪器测试分析,获得了每个样本所含的多种化学元素的浓度数据。另一方面,按照2公里的间距在那些远离人群及工业活动的自然区取样,将其作为该城区表层土壤中元素的背景值。
  附件1列出了采样点的位置、海拔高度及其所属功能区等信息,附件2列出了8种主要重金属元素在采样点处的浓度,附件3列出了8种主要重金属元素的背景值。
  现要求你们通过数学建模来完成以下任务:
  (1) 给出8种主要重金属元素在该城区的空间分布,并分析该城区内不同区域重金属的污染程度。
  (2) 通过数据分析,说明重金属污染的主要原因。
  (3) 分析重金属污染物的传播特征,由此建立模型,确定污染源的位置。
  (4) 分析你所建立模型的优缺点,为更好地研究城市地质环境的演变模式,还应收集什么信息?有了这些信息,如何建立模型解决问题?

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

  本文通过对附件中所给海量数据进行处理分析,找出主要污染原因及污染物传播特性,进而来研究人类活动影响下城市地质环境的变化模式,对地质环境的保护起到积极作用。
  对于问题一,先用matlab软件对数据插值拟合,作出各元素在该城区的空间分布图。从图中可直接地观察各元素对不同地点的污染程度,再将附表中所给数据标准化。本文采用目前学术界应用最普遍的单因子浸染指数法和内梅罗综合浸染数法对不同功能区进行逐一分析。得出各个区域重金属污染程度,其中生活区、工业区与主干道路区-重度污染、山区-轻度污染、公园绿地区-中度污染,且它们之间综合污染指数排序为工业区>主干道路区>生活区>公园绿地区>山区。
  对于问题二,根据问题一中计算出的单因子浸染指数,并作出各功能区不同元素的单因子浸染指数柱状图。通过比较分析发现,某些元素在各功能区单因子指数相近(如As、Ni、Cr),说明同种元素在整个城区的污染原因相同。通过matlab软件分别算出在整个城区和各功能区各元素之间的相关度,可以看出有些元素呈现一定相关性,若相关显著可知其间污染原因可能相同。为了进一步明确不同功能区土壤中重金属的污染来源,再以公园绿地区为例利用主成分分析方法,得出公园绿地区八个变量的全部信息可由四个主成分表示,并分析污染物的来源。根据上述模型进行分析,可知As的主要污染原因为:在某些有色金属的开发和冶炼中,砷化物的广泛利用,煤的燃烧。Ni和Cr相关度较高,主要污染原因有:地球化学成因影响;整个城区的多种人为活动产生的综合污染。除这些元素外,再对其他元素的污染进行分区考虑,根据其它元素之间的相关度可知:生活区Cu、Cd、Pb主要污染原因为生活废弃物;Hg、Zn和其他元素均不相关,说明其主要污染原因是重金属的运移。工业区污染原因主要为工业生产污染。山区轻度污染,主要原因为重金属的运移。主干道路区污染比较复杂,其主要污染原因为交通运输、道路建设、人为活动、金属运移等。公园绿地区处于中度污染,主要污染原因为人类活动和重金属的运移。
  对于问题三,综合考虑对流、弥散、扩散吸附和微生物降解等作用, 根据质量守恒原理, 建立了污染物在饱和及非饱和土壤中运移的对流扩散数学模型:
a_1 (∂^2 C)/(∂x^2 )+a_2 (∂^2 C)/(∂y^2 )+a_3 (∂^2 C)/(∂z^2 )+a_4 ∂C/∂x+a_5 ∂C/∂y+a_6 ∂C/∂z+a_7 x+a_8 y+a_9 z+a_10+a_11 C=∂C/∂t根据附表数据拟合出扩散系数a_i(i =1…10),再利用初始浓度及长时间的稳定态作为初值条件构成微分方程的定解问题,最后采用数值模拟方法预测污染物的迁移过程、迁移范围及浓度分布特征。并由此来分析污染物的传播特征并确定污染源的位置(见表5),结合问题二中的主成分分析的结果,确定最终污染源有7个。
  对问题四,问题三模型建立后,发现如果能够收集到城市详细的卫星图、城市历史地质资料、同一位置不同时间的重金属浓度、城市土壤更多的测定值等信息,能够更好的建立污染物迁移速度的演变模式。可以建立通过聚类分析法、人工神经网络的SOFM网络得出城市不同时期的综合评价结果,从而分析出城市地质环境的演变模式。

模型假设:

  1、假设附件所给数据准确无误;
  2、假设污染源排放污染物稳定、连续;
  3、假设污染物在自然环境下自由传播;
  4、假设污染物在传播过程中质量守恒;
  5、假设污染物传播只与空间有关,与时间无关;

问题分析:

  本题主要是研究表层土壤重金属污染的问题,主要目的是通过对附表中所给八种主要重金属的采样数据进行分析,从而得到这八种元素的空间分布,并确定各功能区的污染程度;再根据数据分析,先找出各金属间的相关度,确定其是否来自同一污染源,再根据相关分类标准,找出重金属污染的主要原因;然后根据数据建立适当函数,找出污染物传播特征,并建立适当模型,最终确定污染源的物质。

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

在这里插入图片描述

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

部分程序代码:

%syms x1 x2 x3 x4 x5 x6 x7 x8 x9 x10
a=[-0.000109287652109 	0.000635260069389 	0.516315789473684 	0.025660770031218 	-0.021669595782074 	12.330000000000000 	8017	7210	39	1
-0.000757120898578 	-0.000024470387428 	-0.666666666666666 	-0.189154518950437 	-1.158571428571430 	-16.220000000000000 	4948	7293	6	1
-0.000096945211774 	0.000090358584587 	-0.015898771367521 	-0.015780845556514 	-0.056978193146417 	-0.351730769230769 	13855	3345	79	1
-0.000457307232306 	0.004842383083857 	1.479861111111110 	-0.072228260869565 	-0.055145228215768 	-53.160000000000000 	2383	3692	7	1
-0.000308833734969 	0.000211980435812 	4.667500000000000 	0.193295454545455 	-0.060533807829182 	-25.530000000000000 	8622	10638	4	1
0.000062607723798 	-0.000109998421723 	0.889880952380952 	0.008987435328899 	-0.012854122621565 	1.737142857142860 	12153	12336	16	1
-0.000052640377967 	0.000012890933239 	-0.008995925263367 	0.000516320474777 	-0.001855010660981 	0.008055555555556 	26015	12078	57	1
-0.005422959353530 	0.000760551532441 	5.000000000000010 	-1.230736842105260 	0.628602150537634 	116.920000000000000 	4777	4897	8	1
0.002510316980250 	0.038800479841974 	0.472566280566281 	-0.054024691358025 	-0.158550724637681 	-1.182702702702700 	3518	2571	59	1
0.000042033121506 	-0.000011309266827 	0.046103040086091 	-0.059379157427938 	0.024301270417423 	-0.425079365079365 	18413	11721	88	1
]; 
%X=[x1,x2,x3,x4,x5,x6,x7,x8,x9,x10]';
b=[124.24 
130.36 
54.98 
381.64 
94.93 
53.42 
28.30 
472.48 
128.60 
38.47 
];
X=a\b
function readdata() 
data=xlsread('data','sheet1','B4:E322'); 
save data data  %坐标信息 
data1=xlsread('data','sheet2','B4:I322'); 
save data1 data1 %浓度信息 
beij=xlsread('data','sheet3','B4:C11'); 
save beij beij %背景信息 
%************************************************ 
%程序功能:画Cu污染分布等值线图 
%建立日期:2011/9/9 
%程序员:Hec1990 
%************************************************ 
function drawcu() 
clc,clear 
load data 
load data1 
Cu=data1(:,4); 
X=data(:,1); 
Y=data(:,2); 
Cu_XY=[X Y Cu]; 
[x y]=meshgrid(0:100:3e4,0:100:2e4); 
z=griddata(Cu_XY(:,1),Cu_XY(:,2),Cu_XY(:,3),x,y,'v4'); 
mesh(x,y,z) 
%ezsurfc(z,x,y) 
figure 
[c h]=contour(x,y,z); 
clabel(c,h) 
hold on 
[c1 d1]=find(data(:,4)==1); 
x1=data(c1,1); 
y1=data(c1,2); 
plot(x1,y1,'r*'); 
[c2 d2]=find(data(:,4)==2); 
x2=data(c2,1); 
y2=data(c2,2); 
hold on 
plot(x2,y2,'k*') 
[c3 d3]=find(data(:,4)==3); 
x3=data(c3,1); 
y3=data(c3,2); 
plot(x3,y3,'c*') 
[c4 d4]=find(data(:,4)==4); 
x4=data(c4,1); 
y4=data(c4,2); 
plot(x4,y4,'y*') 
[c5 d5]=find(data(:,4)==5); 
x5=data(c5,1); 
y5=data(c5,2); 
plot(x5,y5,'g*') 
grid on 
legend('等值线','生活区','工业区','山区','交通区','绿地区');  
cu=reshape(z,301*201,1); 
a=reshape(x,301*201,1); 
b=reshape(y,301*201,1); 
save cu a b cu  %训练神经网络数据集 
save dist c1 c2 c3 c4 c5   %不同区域 
%************************************************ 
%************************************************ 
function comp() 
load data1 
load beij 
for i=1:8 
a(:,i)=(data1(:,i)-beij(i,1))/beij(i,2); 
end 
As=a(:,1);Cd=a(:,2);Cr=a(:,3);Cu=a(:,4);Hg=a(:,5);Ni=a(:,6);Pb=a(:,7);Zn=a(:,8)
 ;
 load dist 
As1=As(c1,1);Cd1=Cd(c1,1);Cr1=Cr(c1,1);Cu1=Cu(c1,1);Hg1=Hg(c1,1);Ni1=Ni(c1,1);P
 b1=Pb(c1,1);Zn1=Zn(c1,1); 
As2=As(c2,1);Cd2=Cd(c2,1);Cr2=Cr(c2,1);Cu2=Cu(c2,1);Hg2=Hg(c2,1);Ni2=Ni(c2,1);P
 b2=Pb(c2,1);Zn2=Zn(c2,1); 
As3=As(c3,1);Cd3=Cd(c3,1);Cr3=Cr(c3,1);Cu3=Cu(c3,1);Hg3=Hg(c3,1);Ni3=Ni(c3,1);P
 b3=Pb(c3,1);Zn3=Zn(c3,1); 
As4=As(c4,1);Cd4=Cd(c4,1);Cr4=Cr(c4,1);Cu4=Cu(c4,1);Hg4=Hg(c4,1);Ni4=Ni(c4,1);P
 b4=Pb(c4,1);Zn4=Zn(c4,1); 
As5=As(c5,1);Cd5=Cd(c5,1);Cr5=Cr(c5,1);Cu5=Cu(c5,1);Hg5=Hg(c5,1);Ni5=Ni(c5,1);P
 b5=Pb(c5,1);Zn5=Zn(c5,1); 
aa=[10 30 2 5 40 5 5 1]; 
w=[aa(1)/sum(aa) aa(2)/sum(aa) aa(3)/sum(aa) aa(4)/sum(aa) aa(5)/sum(aa) 
aa(6)/sum(aa) aa(7)/sum(aa) aa(8)/sum(aa)]; 
y1=[mean(As1) mean(Cd1) mean(Cr1) mean(Cu1) mean(Hg1) mean(Ni1) mean(Pb1) 
mean(Zn1)]; 
y2=[mean(As2) mean(Cd2) mean(Cr2) mean(Cu2) mean(Hg2) mean(Ni2) mean(Pb2) 
mean(Zn2)]; 
y3=[mean(As3) mean(Cd3) mean(Cr3) mean(Cu3) mean(Hg3) mean(Ni3) mean(Pb3) 
mean(Zn3)]; 
y4=[mean(As4) mean(Cd4) mean(Cr4) mean(Cu4) mean(Hg4) mean(Ni4) mean(Pb4) 
mean(Zn4)]; 
y5=[mean(As5) mean(Cd5) mean(Cr5) mean(Cu5) mean(Hg5) mean(Ni5) mean(Pb5) 
mean(Zn5)]; 
qu1=sum(w.*y1);qu2=sum(w.*y2);qu3=sum(w.*y3);qu4=sum(w.*y4);qu5=sum(w.*y5); 
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

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

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

相关文章

什么是智能电网?

智能电网(Smart Grid)被认为是当今电力行业发展的重要方向之一。它是传统电网与现代信息技术、通信技术和自动化技术深度融合的产物,旨在提高电力系统的效率、可靠性和可持续性。智能电网不仅仅是一个技术创新的名词,更是一个系统…

全域推广什么意思?如何搭建高效优质的全域推广服务商系统?

当前,全域推广一词的热度日渐升高,越来越多的人开始关注和计划入局这一全新项目,希望能够吃到第一波红利。不过,由于这一项目刚刚兴起,相关资料尚不完善,因此,绝大多数有意向入局的人都对该项目…

创客项目秀 | 基于使用 XIAO BLE Sense 和 Edge Impulse 的宠物活动跟踪器

今天为大家带来的是来自美国的创作者米顿-达斯的作品:宠物活动跟踪器.这个装置主要是为宠物主人提供关于宠物日常活动量的详尽数据,还能够根据宠物的独特需求,提供个性化的健康建议和活动指导。 项目背景 为了全面促进宠物的健康与活力,采用…

来可电子CAN数据记录仪通过智诊小助手TF卡记录文件导出

若想将TF卡中记录的数据文件导出可按以下的流程进行配置: 点击主界面中的导出选项即可进入到下图中TF卡应用界面 点击TF卡应用界面中“查看记录文件”的选项,进入导出文件界面。 点击“选择”进入勾选文件的界面 点击“导出”后,点击“确定”…

Vulnhub打靶-napping

基本信息 靶机下载:https://download.vulnhub.com/napping/napping-1.0.1.ova 攻击机器:192.168.20.128(Windows操作系统)& 192.168.20.138(kali) 提示信息:甚至管理员也可以在工作中睡…

统信UOS与Windows11传输数据

原文连接:统信UOS与Windows11相互传输数据 hello,大家好啊,今天给大家带来一篇统信UOS与Windows11之间通过共享文件夹传输数据的方法,首先在Windows11上创建共享文件夹,然后通过smb协议在UOS上进行连接访问&#xff0c…

彻底解决IDEA SpringBoot项目yml文件没有小树叶,读取配置文件失败问题

报错说没有配置dubbo:application:name,其实是配置了的,就是读不到,那有没有可能是yml文件不是绿叶的问题?网上查了很多文章配置小绿叶,最后还是报这个错,而且网上的文章配置小绿叶也太过于繁琐,其实就一招…

【Java后端】之 ThreadLocal 详解

想象一下,你有一个工具箱,里面放着各种工具。在多人共用这个工具箱的时候,很容易出现混乱,比如有人拿走了你的锤子,或者你找不到合适的螺丝刀。为了避免这种情况,最好的办法就是每个人都有自己独立的工具箱…

Wasm解析入口分析

直接postman请求,发现返回了一个wasm,需要解析这个wasm获取到参数。下面找到页面入口,如下: 也是个VM解析,VM太多了,扣出来就行,不难,就是麻烦的很。

6个最佳核心应用仪表盘构建工具

核心应用仪表盘(Core App Dashboard)的概念或许你不太熟悉,但仪表盘你一定不陌生。 从汽车的仪表盘显示速度和油量,到运动手环仪表盘追踪步数和心率,再到金融投资仪表盘监控股票和基金的实时行情,它们通过…

Flink窗口分配器WindowAssigner

前言 Flink 数据流经过 keyBy 分组后,下一步就是 WindowAssigner。 WindowAssigner 定义了 stream 中的元素如何被分发到各个窗口,元素可以被分发到一个或多个窗口中,Flink 内置了常用的窗口分配器,包括:tumbling wi…

JAVA线程的多种状态

线程的状态图 new状态(新建状态): 创建了一个线程的对象,但是这个线程没有启动start,那么此时这个线程的状态就是NEW也就是新建状态 此时线程对象就是一个普通的JAVA对象,CPU还没有给其分配资源 public class Main16 {…

微信小程序案例:计算器(含代码)

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

动态中的守候:滑动窗口与距离的诗篇

公主请阅 1. 长度最小的子数组1.1 题目说明 示例 1 示例 1 示例 2 示例 3 1.2 题目分析1.3 代码部分1.4 代码分析 2. 无重复字符的最长子串2.1 题目说明示例 1示例 1示例 2示例 3 2.2 题目分析2.3 代码部分2.4 代码分析2.5 代码深度分析 1. 长度最小的子数组 题目传送门 1.1 题…

2020年计算机网络408真题解析

第一题: 解析:OSI参考模型网络协议的三要素 网络协议的三要素:语法 ,语义,同步(时序) 语法:定义收发双方所交换信息的格式 语法:定义收发双方所要完成的操作 网页的加载 …

「iOS」——YYModel学习

iOS学习 前言优势使用方法简单的Model与JSON互转多样化的数据类型交换容器类数据交换 model中包含其他model白名单与黑名单 总结 前言 YYModel是YYKit的高效组件之一,在实际场景中的非常实用,在项目中使用MVC架构时,可以简化数据处理。在性能…

Tailwind Starter Kit 一款极简的前端快速启动模板

Tailwind Starter Kit 是基于TailwindCSS实现的一款开源的、使用简单的极简模板扩展。会用Tailwincss就可以快速入手使用。Tailwind Starter Kit 是免费开源的。它不会在原始的TailwindCSS框架中更改或添加任何CSS。它具有多个HTML元素,并附带了ReactJS、Vue和Angul…

tensorflow c++ api + windwos + vs部署 详细避坑

文章目录 前言一、安装MSYS2二、选择tensorflow的版本三、安装Bazel四、配置一个anconda的tensorflow环境五、生成dll,lib,include六、在vs2019中配置项目七、测试并针对性修补问题 前言 不能使用vs2022配置tensorflow c api,即使要安装 2.10.0版本,也尽…

【Next.js 项目实战系列】02-创建 Issue

原文链接 CSDN 的排版/样式可能有问题,去我的博客查看原文系列吧,觉得有用的话,给我的库点个star,关注一下吧 上一篇【Next.js 项目实战系列】01-创建项目 创建 Issue 配置 MySQL 与 Prisma​ 在数据库中可以找到相关内容&…

机器学习篇-day09-支持向量机SVM

一. 支持向量机介绍 支持向量机 介绍 SVM全称是Supported Vector Machine(支持向量机) 即寻找到一个超平面使样本分成两类,并且间隔最大。 是一种监督学习算法,主要用于分类,也可用于回归 与逻辑回归和决策树等其…