基于MATLAB编程语言的重金属污染原因分析

2022-09-10

人类活动使得自然土壤中重金属元素浓度大幅增加, 进而导致的区域性的重金属污染。由于城市功能区的划分, 生活区, 山区, 工业区等区域的地理条件和区域作用不同, 所以导致重金属污染的原因也存在差异性。考虑到各种重金属污染之间可能存在相关和依赖性 (例如工业炼锌的废渣中常常有大量铜元素) , 首先利用MATLAB软件中的矩阵相关性分析功能对元素进行初步相关性分析, 推测出不同功能区中是否存在有着紧密联系的元素对或元素群。随后利用MATLAB中求解矩阵特征值等函数对各个区域的重金属的采样数据进行主成分分析, 从而在各个区域的重金属采样数据中得到对此区域污染“贡献”较大重金属, 最终结合上一步的推测和生活实际, 分析重金属污染的主要原因。

一、MATLAB科学计算软件

MATLAB是美国Math Works公司出品的商业数学软件, 用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境, 主要包括MATLAB和Simulink两大部分。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等, 主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

二、数据建模及模型求解

首先对不同区域各个重金属元素浓度进行相关性分析。在MATLAB软件中导入相关数据后, 输入:

Rindustry Zone=corrcoef (industry Zone) ;Rindustry Zone

进而可以求出工业区各个元素的相关性程度, 在工业区重金属的采样数据中, 根据相关性分析, Cr和Cu, Hg和Cr, Hg和Cu, Pb和Zn, Pb和Cd以及Zn和As两两之间存在很强的相关性, 关系系数分别达到了0.920, 0.902, 0.983, 0.739, 0.829和0.754。随后用同样的方式求解其他地区的重金属相关度。在生活区重金属的采样数据中, 根据相关性分析, Cd和Pb的关系系数达到了0.802, 具有较强的相关性。其他元素间无突出的相关关系;在山区的重金属的采样数据中, 根据相关性分析, Ni和Cr, Cd和Pb两两间呈现较大相关性, 特别是Cr元素与Ni元素, 其的关系系数达到了0.945, Cd和Pb的关系系数为0.766。在交通区的重金属的采样数据中, 根据相关性分析, Cr和Cu, Ni和Cr以及Cu和Ni之间存在较强的相关性, 关系系数分别为0.894, 0.869和0.886。在公园绿地区的重金属的采样数据中, 根据相关性分析, Cr和Ni, Pb和Cu, Zn和Cd以及Pb与Zn之间存在较强的相关性, 关系系数分别为0.739, 0.756, 0.712和0.748。

在完成不同区域的重金属采样数据完成相关性分析后, 已经能够初步推测出每个区域某些重金属元素之间的关系, 为各地区污染原因的分析提供了初步的方向。为了进一步确定各个区域中的污染来源, 通过主成分分析得出各个区域中对污染指数影响较大的重金属元素, 并结合数据和实际进行分析。在主成分分析时, 为了在获得主成分的同时保证数据的有效性和准确性, 取总贡献率大于80%的前N的主成分。在MATLAB软件中输入以下代码:

PCAindustry Zone=q2PCA (industry Zone) ;

PCAindustry Zone

其中q2PCA是笔者编写的求解PCA的函数和分析结果的函数, 函数定义如下:

function[result]=q2PCA (A) ...

end

返回值result第一行代表累积贡献率达到80%的前N个主成份各自的贡献率, 自第二行开始便是不同元素的N个主成份综合后权重值和在前N个主成份中所占的权重因子。如在生活区Cr元素的计算结果。

三、分析并得出结论

通过综合各个区域主成份的中各个重金属元素的载荷系数, 可以得到相应因子的权重值。可以看出, 在生活区Cr, Zn和Pb的对环境污染“贡献”最大。研究结果表明汽车尾气中, 通常含有大量的Pb和Cd的有毒化合物, 结合对生活区的相关性分析推测, Pb与Cd存在较大的相关性, 故可以推论出交通工具尾气的排放是造成污染的一个重要原因。在实际中生活区内堆积的生活垃圾中容易造成Zn和Ni的累积 (干电池等) , 而Cr又是磁带, 录像带和钢制工具的重要组成元素, 由此可得出城市生活垃圾也是造成生活区环境污染的一个重要原因。在工业区中除了As和Ni, 其他的重金属元素权重值都很高, 结合工业区各元素的相关性分析结果, 可以大致判断得到Cd, Cr, Cu, Hg, Pb和Zn来源于同一污染源, 也就是工业生产后排放的废气, 废渣和废水。故工业区污染的主要原因是工业排放。山区的重金属污染程度相对最小, 故土壤中各种重金属的浓度时非常低的, 由于自然界中Zn元素主要以和Pb, Cd结合成化合物的形式存在, 所以重金属污染的主要原因可能是山区中存在少量锌铅矿。Pb, Hg和Cu是交通区主要的污染“贡献者”, 考虑到交通区的汽车尾气排放情况, 以及交通路段和工业区紧密的分布情况, 大致推测出交通的重金属污染主要原因是车辆尾气的排放和工业区排放物的扩散。

摘要:随着城市发展的加速, 科技信息技术的进步, 在带给人们便利和方便的同时, 却给自然环境带来了极大的破坏。重金属污染是环境污染中很总要的指标, 本文通过利用计算机的MATLAB软件, 实现对城市中重金属污染的原因的分析。使用corrcoef () 函数和eig () 函数完成对污染物指标的相关性和主成份判断, 从而确定各个元素超标的主要原因。

关键词:MATLAB,数据建模,主成份分析

参考文献

[1] 卓金武, 李必文, 魏永生, 秦健.MATLAB在数学建模中的应用[M].北京航空航天大学出版社, 2014, 26 (5) :4-6.

[2] 百度百科.MATLAB相关词条.

上一篇:对当前实体娱乐场所服务营销现状及建议——以电影院为例下一篇:老年糖尿病合并急性心肌梗死临床治疗护理体会评价