内容发布更新时间 : 2024/12/23 3:51:17星期一 下面是文章的全部内容请认真阅读。
11 气象统计方法课程实践内容2013
实习二 计算给定数据资料的简单相关系数和自相关系数
1、资料介绍
根据下表中年平均气温和冬季平均气温的等级数据进行下列计算: 1)计算两个气温之间的简单相关系数。
2)分别找出两个气温数据自相关系数绝对值最大的滞后时间长度。(滞后长度τ最大取10)
2、要求
实习报告中附出简单相关系数或自相关系数程序。
答案:r=0.47
年平均气温在滞后长度j=3、冬季序列在j=4最大。
第 11 页 共 36 页
12 气象统计方法课程实践内容2013
3、实习结果
(1)、Fortran源程序
PROGRAM EXAM
IMPLICIT NONE
INTEGER,PARAMETER::N=20 INTEGER i,j,k,ty,tw,tyw
REAL::avr_y=0,avr_w=0,sy=0,sw=0,rxy=0,max_y=0,max_w=0,max_yw=0 REAL y(N),w(N)
DATA y/3.4,3.3,3.2,2.9,3.4,2.8,3.6,3.0,2.8,3.0,3.1,3.0,2.9,2.7,3.5,3.2,3.1,2.8,2.9,2.9/ DATA
w/3.24,3.14,3.26,2.38,3.32,2.71,2.84,3.94,2.75,1.83,2.80,2.81,2.63,3.20,3.60,3.40,3.07,1.87,2.63,2.47/
REAL syy(N),sww(N),r(N),rty(N),rtw(N),rtyw(N),rxy_ty(N),rxy_tw(N),rxy_tyw(N)
!求两数组平均值 DO i=1,N
avr_y=avr_y+y(i) avr_w=avr_w+w(i) END DO
avr_y=avr_y/N avr_w=avr_w/N !简单相关系数 DO j=1,N
syy(j)=(y(j)-avr_y)**2 sy=sy+syy(j)
sww(j)=(w(j)-avr_w)**2 sw=sw+sww(j) END DO
sy=sqrt(sy/N) sw=sqrt(sw/N) DO j=1,N
r(j)=((y(j)-avr_y)/sy)*((w(j)-avr_w)/sw) rxy=rxy+r(j) END DO rxy=rxy/N
PRINT \年全年平均气温与冬季平均气温的简单相关系数rxy=',f5.2)\k=0
!自相关系数 DO ty=1,N/2 DO i=1,N-ty
第 12 页 共 36 页
13 气象统计方法课程实践内容2013
rty(i)=((y(i)-avr_y)/sy)*((y(i+ty)-avr_y)/sy)
rxy_ty(ty)=rxy_ty(ty)+rty(i) END DO
rxy_ty(ty)=rxy_ty(ty)/(N-ty) rxy_ty(ty)=ABS(rxy_ty(ty)) IF(rxy_ty(ty)>max_y) THEN max_y=rxy_ty(ty) k=ty END IF END DO
PRINT \全年平均气温绝对值最大自相关系数rxy_ty=',f7.4,/,'滞后时间长度 k=',I2)\k=0
DO tw=1,N/2 DO i=1,N-tw
rtw(i)=((w(i)-avr_w)/sw)*((w(i+tw)-avr_w)/sw) rxy_tw(tw)=rxy_tw(tw)+rtw(i) END DO
rxy_tw(tw)=rxy_tw(tw)/(N-tw) rxy_tw(tw)=ABS(rxy_tw(tw)) IF(rxy_tw(tw)>max_w) THEN max_w=rxy_tw(tw) k=tw END IF END DO
PRINT \冬季平均气温绝对值最大自相关系数rxy_tw=',f7.4,/,'滞后时间长度 k=',I2)\k=0
!落后交叉相关系数 DO tyw=1,N/2 DO i=1,N-tyw
rtyw(i)=((y(i)-avr_y)/sy)*((w(i+tyw)-avr_w)/sw) rxy_tyw(tyw)=rxy_tyw(tyw)+rtyw(i) END DO
rxy_tyw(tyw)=rxy_tyw(tyw)/(N-tyw) rxy_tyw(tyw)=ABS(rxy_tyw(tyw)) IF(rxy_tyw(tyw)>max_yw) THEN max_yw=rxy_tyw(tyw) k=tyw END IF END DO
PRINT \全年平均温度与冬季平均气温之间的落后交叉相关系数rxy_tyw=',f7.4,/,'滞后时间长度 k=',I2)\
第 13 页 共 36 页
14 气象统计方法课程实践内容2013
END
(2)、程序运行结果:
第 14 页 共 36 页
15 气象统计方法课程实践内容2013
实习三 分析中国夏季降水线性趋势的分布特征
1.资料介绍及要求:
利用数据160zhan-rainfall-summer.txt,编写求1982-2006年中国160站各站夏季降水线性倾向率,给出分布图,并进行简单分析。read-rain.for给出了阅读资料的fortran程序。数据在文件夹中单独给出。 2.实习结果
(1).matlab程序
%编写求1982-2006年中国160站各站夏季降水线性倾向率
clear all clc
fid=fopen('E:/160zhan-rainfall-summer.txt','rt'); tline=fgets(fid);
data1=fscanf(fid,'%f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f',[28,160]); data2=data1'; fclose(fid); for i=1:160;
j(i,1:25)=data2(i,4:28); n1=1982:1:2006;
pp(i,:)=polyfit(n1,j(i,1:25),1); end
b=pp(:,1);
jd=data2(:,3); wd=data2(:,2); jdc=75:0.5:135; wdc=18:.5:55;
bz=griddata(jd,wd,b,jdc,wdc','cubic'); c=contour(jdc,wdc,bz)
第 15 页 共 36 页