大气统计作业

发布 2022-09-02 09:21:28 阅读 9109

上机实践。

一. 相关回归分析。

1)计算北京夏季降水与气温的相关系数及秩相关系数,并进行显著性检验。

定义计算秩相关系数函数:

function coeff = myspearman(x,y);

本函数用于实现斯皮尔曼等级相关系数的计算操作

% 输入:

% x:输入的数值序列

% y:输入的数值序列

% 输出:

% coeff:两个输入数值序列x,y的相关系数

if length(x)~=length(y)

error('两个数值数列的维数不相等');

return;

end n = length(x); 得到序列的长度

xrank = zeros(1 , n); 存储x中各元素的排行

yrank = zeros(1 , n); 存储y中各元素的排行

%计算xrank中的各个值

for i = 1 : n

cont1 = 1; %记录大于特定元素的元素个数

cont2 = 1; %记录与特定元素相同的元素个数

for j = 1 : n

if x(i)

cont1 = cont1 + 1;

elseif x(i) =x(j)

cont2 = cont2 + 1;

end end

xrank(i) =cont1 + mean([0 : cont2]);

end %计算yrank中的各个值

for i = 1 : n

cont1 = 1; %记录大于特定元素的元素个数

cont2 = 1; %记录与特定元素相同的元素个数

for j = 1 : n

if y(i)

cont1 = cont1 + 1;

elseif y(i) =y(j)

cont2 = cont2 + 1;

end end

yrank(i) =cont1 + mean([0 : cont2]);

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

fenzi = 6 * sum((xrank - yrank).^2);

fenmu = n * n^2 - 1);

coeff = 1 - fenzi / fenmu;

end %函数myspearman结束}

计算相关系数:

a=load(''

b=load(''

a1=a(:,2);

b1=b(:,2);

相关系数。r=corrcoef(a1,b1);r =

秩相关系数。

x=a1;y=b1;

coeff=myspearman(x,y);

coeffcoeff =

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

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

y1=x1*b;

plot(x,y,'*x1,y1);

xlabel('降水量');ylabel('气温');

title('拟合曲线及散点图');

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

二、eof分析。

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

fid=fopen(''r');

a=fread(fid,’float’);a=reshape(a,56*11,336);b=a’;

b=zeros(336,616);

c=zeros(1,616);

j=0;for n=1:336;

c=a(j+1:j+616);

b(n,:)reshape(c,1,616);j=j+616;%b1=fread(fid,[616 336]);b=b’;

endb=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;

for i=1:336;

count=count+lambda(i);

g1(i)=count/sum_d;%累计方差贡献率。

endfor i=1:336;

g2(i)=lambda(i)/sum_d;%方差贡献率。

endnorth准则。

f=lambda(1:10);

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

number=1:1:10;

errorbar(number,f,errorf);

xlabel('number');ylabel('eigenvalue');

title('north errorbar');

只有对第。一、二、三、四、五模态进行分析。因为第五模态后误差重合了,无法区分开来。(2)给出需要分析的前几个模态的空间分布和时间序列。

x=1:336;

plot(x,pc(1,:)r');

xlabel('1979-2024年336个月');

ylabel('index');

title('赤道中东太平洋第一模态1979-2024年的sst时间序列');

grid on;

lon=[160:2:270];

lat=[-10:2:10];

m_proj('equidistant cylindrical','lat',[10 10],'lon',[160 270]);

m_contourf(lon,lat,rot90(reshape(eof(:,1),56,11)',2),'linestyle','none');

colorbar;

m_grid('box','fancy','tickdir','in');

xlabel('longitude','fontsize',15,'fontname','comic sans ms');

ylabel('latitude','fontsize',15,'fontname','comic sans ms');

title('北太平洋第1模态填色图','fontsize',15,'fontname','幼圆');matlab安装m_map绘图工具才能调用以上程序,如果没有,直接调用eof1=reshape(eof(:,n),56,11);

eof1=eof1';contour(eof1);n表示不同的模态。

三、聚类分析。

x =1.0e+003 *

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);

c1c1 =

tt =

四、功率谱分析。

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

sunspot=importdata(''

year=sunspot(:,1);

wolfer=sunspot(:,2);

figure

plot(year,wolfer)

xlabel('years');ylabel('sunspot data');title('sunspot data')

figure

plot(year(1:50),wolfer(1:50),'b.-'

xlabel('years');ylabel('sunspot data');title('at the first 50 years')

大气作业题

第一章绪论。1 ccl4气体与空气混合成体积分数为1.50 10 4的混合气体,在管道中流动的流量为10m3n s,试确定 1 ccl4在混合气体中的质量浓度 g m3n 和摩尔浓度c mol m3n 2 每天流经管道的ccl4质量是多少千克?2 每次吸入的空气量平均为500cm3,假若每分钟呼吸1...

大气环境作业

大气环境地理作业。1 大气垂直分层由下往上分三层。其中有利于高空飞行的是与人类关系最密切的是有利于无线电波传播的是。3 大气对太阳辐射的削弱作用有。臭氧吸收吸收太阳红外线,反射的强弱与。有关最易被散射。4 对地面具有保温作用的是辐射,影响地面辐射的因素有等。太阳高度愈大,等量太阳辐射在地表分布的面积...

大气作业题答案

s 0.6 h 3.7 c 79.5 n 0.9 o 4.7 灰分 10.6 在空气过剩20 条件下完全燃烧。计算烟气中so2的浓度。解 按燃烧1kg煤计算。重量 g 摩尔数 mol 需氧数 mol c 79566.2566.25 h 31.125 15.56257.78 s 60.18750.18...