大气统计作业Word文件下载.docx

上传人:b****4 文档编号:14078857 上传时间:2022-10-18 格式:DOCX 页数:20 大小:617.42KB
下载 相关 举报
大气统计作业Word文件下载.docx_第1页
第1页 / 共20页
大气统计作业Word文件下载.docx_第2页
第2页 / 共20页
大气统计作业Word文件下载.docx_第3页
第3页 / 共20页
大气统计作业Word文件下载.docx_第4页
第4页 / 共20页
大气统计作业Word文件下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

大气统计作业Word文件下载.docx

《大气统计作业Word文件下载.docx》由会员分享,可在线阅读,更多相关《大气统计作业Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。

大气统计作业Word文件下载.docx

fori=1:

N

cont1=1;

%记录大于特定元素的元素个数

cont2=-1;

%记录与特定元素相同的元素个数

forj=1:

ifX(i)<

X(j)

cont1=cont1+1;

elseifX(i)==X(j)

cont2=cont2+1;

Xrank(i)=cont1+mean([0:

cont2]);

%计算Yrank中的各个值

ifY(i)<

Y(j)

elseifY(i)==Y(j)

Yrank(i)=cont1+mean([0:

%利用差分等级(或排行)序列计算斯皮尔曼等级相关系数

fenzi=6*sum((Xrank-Yrank).^2);

fenmu=N*(N^2-1);

coeff=1-fenzi/fenmu;

end%函数mySpearman结束}

计算相关系数:

A=load('

RBJsum.txt'

B=load('

TBJsum.txt'

A1=A(:

2);

B1=B(:

%相关系数

R=corrcoef(A1,B1);

R=

1.0000-0.4332

-0.43321.0000

%秩相关系数

X=A1;

Y=B1;

coeff=mySpearman(X,Y);

coeff

coeff=

-0.4693

(2)显著性检验:

相关系数自由度n=52-2

查表可知,rc=0.273<

0.4332

计算得到的相关系数大于0.273,则在显著水平0.05是显著的。

秩相关系数:

同理,对秩相关系数检验可得:

rc=0.273<

0.4693,因此秩相关系数在显著水平0.05上是显著的,通过检验。

(2)将降水量作为预报因子,气温作为预报量,试给出回归方程,并说明降水每增加100mm,气温大致下降多少º

C?

legend('

降水量-气温散点图'

scatter(x,y)

xlabel('

降水量'

ylabel('

气温'

title('

%建立回归方程:

stepwise(x,y);

b=25.995

-0.0019776

x1=[ones(52,1),x];

y1=x1*b;

plot(x,y,'

*'

x1,y1);

拟合曲线及散点图'

那么降水每增加100mm,气温大致下降0.19776º

C

二、EOF分析

(1)进行EOF分析,给出前十个模态的方差解释率,并根据North准则(绘出ErrorBar图),说明需要选择前几个模态进行分析?

fid=fopen('

ssta.dat'

'

r'

a=fread(fid,’float’);

%a=reshape(a,56*11,336);

b=a’;

b=zeros(336,616);

c=zeros(1,616);

j=0;

forn=1:

336;

c=a(j+1:

j+616);

b(n,:

)=reshape(c,1,616);

j=j+616;

%b1=fread(fid,[616336]);

b=b’;

end

b=b'

;

C=b*b'

/616;

[EOF,E]=eig(C);

PC=EOF'

*b;

E=fliplr(flipud(E));

lambda=diag(E);

EOF=fliplr(EOF);

PC=flipud(PC);

sum_d=sum(lambda);

count=0;

fori=1:

count=count+lambda(i);

G1(i)=count/sum_d;

%累计方差贡献率

G2(i)=lambda(i)/sum_d;

%方差贡献率

方差贡献率

累计方差贡献率

第一模态

0.716516015743107

第二模态

0.147473083981738

0.863989099724845

第三模态

0.050392162180530

0.914381261905375

第四模态

.024*********

0.938899939827844

第五模态

0.014502739245485

0.953402679073329

第六模态

0.012702830971315

0.966105510044644

第七模态

0.007148842058117

0.973254352102761

第八模态

0.006019078625006

0.979273430727767

第九模态

0.004340892184153

0.983614322911921

第十模态

0.003048921846347

0.986663244758267

%North准则

f=lambda(1:

10);

errorf=f*sqrt(2/(336-2));

number=1:

1:

10;

errorbar(number,f,errorf);

number'

eigenvalue'

northerrorbar'

只有对第一、二、三、四、五模态进行分析。

因为第五模态后误差重合了,无法区分开来。

(2)给出需要分析的前几个模态的空间分布和时间序列。

x=1:

plot(x,PC(1,:

),'

1979-2006年336个月'

INDEX'

赤道中东太平洋第一模态1979-2006年的SST时间序列'

gridon;

lon=[160:

2:

270];

lat=[-10:

10];

m_proj('

EquidistantCylindrical'

lat'

[-1010],'

lon'

[160270]);

m_contourf(lon,lat,rot90(reshape(EOF(:

1),56,11)'

2),'

linestyle'

none'

colorbar;

m_grid('

box'

fancy'

tickdir'

in'

longitude'

fontsize'

15,'

fontname'

comicsansms'

latitude'

北太平洋第1模态填色图'

幼圆'

%MATLAB安装m_map绘图工具才能调用以上程序,如果没有,直接调用eof1=reshape(eof(:

n),56,11);

eof1=eof1'

contour(eof1);

n表示不同的模态

三、聚类分析

x=

1.0e+003*

0.01621.42902.0000-0.00820.0062

0.01570.97002.2090-0.02060.0019

0.01631.26002.0850-0.01730.0028

0.01721.44201.7260-0.00950.0046

0.01881.87401.7090-0.00490.0080

0.01791.69801.8480-0.00450.0075

0.01630.97601.2390-0.00460.0056

x1=zscore(x);

y1=pdist(x2);

y1=pdist(x1);

y1=pdist(x1,'

mahalanobis'

z1=linkage(y1);

c1=cophenet(z1,y1);

T=cluster(z1,6);

H=dendrogram(z1);

c1

c1=

0.5540

T

T=

3

1

2

4

5

6

四、功率谱分析

(1)太阳黑子数的离散功率谱,绘出谱图。

sunspot=importdata('

sunspot.dat'

year=sunspot(:

1);

wolfer=sunspot(:

figure

plot(year,wolfer)

xlabel('

Years'

SunspotData'

plot(year(1:

50),wolfer(1:

50),'

b.-'

Atthefirst50years'

figure

n=length(Y);

power=abs(Y(1:

n/2)).^2;

nyquist=1/2;

%取采样频率为0.5;

freq=(1:

n/2)/(n/2)*nyquist;

stem(freq,power);

cycles/year'

Periodogram'

period=1./freq;

stem(period,power);

axis([05002e+7]);

Power'

Period(Years/cycle)'

holdon;

index=find(power==max(power));

mainPeriodStr=num2str(period(index));

plot(period(index),power(index),'

r.'

MarkerSize'

25);

text(period(index)+2,power(index),['

Period='

mainPeri

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1