环境监测数据处理一种新方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
环境监测数据处理的一种新方法
刘振旗[作者简介:刘振旗(1972-),男,工程师,主要从事环境监测与科研]
摘要:详细介绍了excel与maltab集成的方法,并应用vba宏语言,实现了maltab在excel处理环境监测数据的能力。
关键词:maltabexcel linkexcel
中图分类号:x83 文献标识码: a 文章编号:
在环境监测工作中,监测数据的处理是一项重要而繁重的工作,对采集到大量的样本数据需要用一些统计量来描述数据的集中程
度和离散程度,并通过这些指标对数据的总体特征进行归纳。描述样本数据集中趋势的统计量有算术平均值、中位数、众数、几何均值等,描述样本数据离中趋势的统计量包括极差、平均差、平均绝对差、方差和标准差,此外还有峰度、偏度、分位数和相关系数等统计量。excel是一个十分强大和有生命力的数据处理软件,虽然应用广泛,但是对于数值计算方面其能力欠佳[1],与之相比,matlab是新近发展起来的一种深受广大编程人员喜欢的数学工具
软件。matlab语言可以提供与矩阵有关的强大数据处理和图形显示功能,为软件开发人员在程序编制过程中实现数值计算和图形显示新添了又一行之有效的开发平台。但是,matlab的界面功能比较弱,给友好界面的开发应用带来不便。
为了发挥excel和matlab各自的优点,自matlab问世,matlab 工具箱就提供了集成excel和matlab软件一个excel link插件,
该插件不仅使得excel在表格处理、科学计算和工程设计中营造了一个更加完美统一的开发环境,而且还具备matlab的数值计算能力和灵活自如的图形可视化功能。这里给出环境监测数据处理计算公式、excel link插件函数用法、 vba编程环境实现的程序和实例应用。
1、数据处理计算公式
1.1 集中趋势
研究数据总体向分配中心集中的现象。反映集中趋势的综合特征量主要有算术平均值、几何平均数等。
(1)化算术平均值
算术平均值抹掉个体特征值之间的差异,反映整体特征的典型水平,可以作为整体的代表值。算术平均值可以消除偶然因素所形成的差异,从而揭示客观规律,在数理统计中占有重要地位。
若x1,x2,...,xn是一组数据,其算术平均值的计算公式为:(1)
(2)几何平均数
几何平均数的计算公式为:
(2)
在求几何平均数时,可以对两边取对数,即
(3)
然后再计算反对数。
几何平均数受极端数据的影响比较小,但如果在数据中包括零
或负数就没有办法求几何平均数。
1.2 离散程度
反映离散程度的综合特征量有范围、平均差、方差和标准差等。
(1)范围
所谓范围就是数列的极大值和极小值之差,是对数列离散程度的最粗略估计。
(2)标准差
方差是离差平方后的结果,与原来数据的计量单位不一致,意义很不明确。为了使所得到的结果与原来的计量单位一致,需要将方差开方。这就是标准差,用公式可以写成:
(4)
1.3 偏度和峰度、百分位数和相关系数
平均数和标准差等还不足以完全描述数字的特征,除了集中趋势和离散趋势外,数字分配还有对称的特征和峰度高低的特征,需要用偏度系数和峰度系数加以量化。
(1)偏度系数
偏度系数的计算公式为:
(5)
在分配对称时,由于正负离差的绝对值完全一致,3次方后正负离差可以抵消,这时g1为0。如果分配不对称,正负离差的3次方不能完全抵消,离差绝对值越大,偏度系数的绝对值也越大,就越不对称。g1可以是正值,也可以是负值。正值时称为正偏,负值时
称为负偏。
(2)峰度系数
峰度系数的计算公式为:
(6)
峰度系数描述次数曲线的高峰形态,常常与正态分布进行比较,比正态分布高称为高狭峰,反之称低阔峰。
1.4、百分位数和相关系数
(1)百分位数
百分位数(percentile)是将n个观察值从小到大依次排列,再把它们的位次依次转化为百分位。百分位数的另一个重要用途是确定医学正常参考值范围。百分位数用px表示,0<x<100,如25%位数表示为p25。在频数表上,百分位数的计算公式为:(7)
(2)相关系数
相关系数是用以反映变量之间相关关系密切程度的统计指标。相关系数是按积差方法计算,同样以两变量与各自平均值的离差为基础,通过两个离差相乘来反映两变量之间相关程度;着重研究线性的单相关系数。相关系数计算公式为:
(8)
2 excel link简介
excel link是一个软件插件[2-3],它将excel和matlab在微软视窗环境下进行集成。它把excel作为matlab的前端,通过在
excel的工作表或宏中使用excel link函数,就能获得matlab的数值计算和图形自动显示功能。excel link提供了9个数据管理函数,但在vba编程环境中用得最多的通常为3个函数。以下仅给出3个函数用法,其它函数的用法详见有关文献,在此不再赘述。
mlevalstring运行matlab命令。
mlgetmatrix把matlab矩阵的内容写到excel工作表。
mlputmatrix用excel工作表中的数据创建或覆盖于matlab矩阵。
excel link函数在vba中的应用程序
程序设计首先在工具菜单中打开visual baics编辑器,然后在vbe属性窗口中插入一个模块,在模块代码窗口内输入下面代码:sub 统计量()
sheets(“sheet1”).select
‘获取数据区域行数和列数
rr = range(“a1”).currentregion.rows.count
cc = range(“a1”).currentregion.columns.count
t = 64 + cc
‘定义数据区域对象
set adata = sheet1.range(“b2:” & chr(t) & rr & ““) set p = sheet1.range(“b1:” & chr(t) & 1 & ““)
set n = sheet1.range(“a2:” & chr(65) & rr & ““)
‘将数据区域对象送到matlab工作区