多语言展示
当前在线:379今日阅读:60今日分享:41

MATLAB中处理环境监测数据实例

本经验介绍在获取环境监测数据后,如何对其进行分析和处理。
工具/原料

MATLAB

方法/步骤
1

数据获取      一般可以在政府机构的监测网站上获取监测数据,这些数据可能是.csc等格式,可以通过转换,并且提取自己需要的数据。本实例我们可以将温度数据提取出来,分析气温变化情况。

2

载入数据    采用以下MATLAB代码,Y= load('data_temperture.txt');t =Y(:,1);d =Y(:,2);S= size(Y);L =S(1);M=S(2);     load()函数将数据读入矩阵Y中。然后我们将时间复制到列向量t中,并将温度复制到列向量d中。使用size()函数查询Y的大小。 它返回行数和列数的向量,我们将其分解为变量L和M并显示。 MatLab告诉我们,我们读了一个L = 100行和M = 2列的表格。 这是大约100天。 使用命令D(1:5,:)生成的前几个数据点的显示产生以下结果:

3

图像绘制采用以下命令绘制图像。>>  clf>> set(gca,'LineWidth',2);>> hold on;>> plot(t,d,'k-','LineWidth',2);

4

细化处理w=20; % 细化的宽度i1=30;i2=60;%细化的中点clf;set(gca,'LineWidth',2);hold on;figure(1);%i1=30,宽度为20的数据plot(t(i1-w/2:i1+w/2),d(i1-w/2:i1+w/2),'r.-','LineWidth',2);title('The monitoring data of Enviroment tempture');xlabel('From Sept.2007');ylabel('Temperture');figure(2);%i1=60,宽度为20的数据plot(t(i2-w/2:i2+w/2),d(i2-w/2:i2+w/2),'g--','LineWidth',2);

5

统计数据出现的频率       通过直方图,可以统计温度出现的频率,整体温度范围可以用适度的数量表示,如lh=10(表示块的大小),然后统计每一块中的数量 在MatLab中,直方图计算如下:Lh=10;Dmin= min(d);dmax = max(d);bins = Dmin +(dmax-Dmin)*[0:Lh-1]'/(Lh-1);dhist =hist(d, bins)';这里我们使用min()和max()函数来确定数据的整体范围。公式(dmax-Dmin)*[0:Lh-1]'/(Lh-1);创建列向量,在这两个极端之间等间隔的温度值的长度Lh。

6

用灰度图表示频率      除了柱状图,亦可以使用以下脚本将矢量dhist绘制为灰色阴影图像.>> axis([0, 1, 0, 1]);% axis()函数将轴设置为简单的0到1范围>> hold on;>> axis ij;% 原点放在左上角>> axis off;% 关闭轴和刻度标记的绘图>> imagesc( [0.4, 0.6], [0, 1], dhist);>> text(0.66,0.2,'dhist');%文本位置>>colorbar(‘vert’);% 函数添加颜色条。

注意事项

绘图时,注意柱状条范围的选择

推荐信息