爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 13832|回复: 3

[程序设计] 关于matlab空间相关性及显著性检验

[复制链接]

新浪微博达人勋

发表于 2017-10-22 12:45:59 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本人初学matlab,想求一组时间序列数据与1948-2011年年平均SLP的空间相关性,查阅论坛自己写的代码如下:
ncid = netcdf.open('slp.mon.mean.nc','nowrite')
ncdisp('slp.mon.mean.nc')
tim = ncread('slp.mon.mean.nc','time');
time_datenum = tim / 24 + datenum('1800-01-01 00:00:0');
dv = datevec(time_datenum);
Lon = ncread('slp.mon.mean.nc','lon');
Lat = ncread('slp.mon.mean.nc','lat');
a = find(Lon>=0 & Lon<=357.5);
b = find(Lat>=-90 & Lat<= 90);
c = find(dv(:,1)>=1948 & dv(:,1)<= 2011)
lon_num = length(a);
lat_num = length(b);
tim_num = length(c);
slp = ncread('slp.mon.mean.nc','slp',[a(1) b(1) c(1)],[lon_num lat_num tim_num]);
for i = 1:144
for j = 1:73
for x = 1:12:768
m(i,j,x) = mean(slp(i,j,x:11+x));
n(i,j,(x-1)/12+1) = m(i,j,x);
end
end
end;
EOF = xlsread('testEOF.xlsx'); %时间序列数据
slpcor = [];
for i = 1:144
    slpi = [];
    for j = 1:73
     rij = corrcoef(EOF(:,2),n(i,j,:))
     slpi = [slpi,rij(2)];
    end
    slpcor = [slpcor;slpi]
end;
contourf(Lon,Lat,slpcor')
hold on
load coast
plot(long,lat,'-k','LineWidth', 1.8);%-颜色,1.8线宽
colorbar
但最后做出图成这样
现有以下几个问题想问各位大佬:
1、这样调整是否可行,有没有更好的办法解决它?
2、另外想只显示通过显著相关性的区域,该怎么添加代码?自己尝试了好久,是在写不出来、、、
3、感觉自己写的代码可能太臃肿,如有大佬能指出那些可以简化,不胜感激

由于matlab初始出图与coast 坐标不匹配,前者经度范围为0-360,而后者为-180-180°,因此需要对Lon数组进 ...

 由于matlab初始出图与coast 坐标不匹配,前者经度范围为0-360,而后者为-180-180°,因此需要对Lon数组进 ...
微信截图_20171023160918.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-10-22 12:47:54 | 显示全部楼层
关于第一张图:由于matlab初始出图与coast 坐标不匹配,前者经度范围为0-360,而后者为-180-180°,因此需要对Lon数组进行调整,由于Lon与slpcor数据为一一对应关系,因此当Lon变动时,slpcor数据也应该同时变动,contourf(Lon,Lat,slpcor'),新设数组lon,for ii = 1:144;lon(ii,1)=-180+2.5*ii。若直接进行contourf(lon,Lat,slpcor'),则会各点值发生改变,相当于整体向西平移180°。
因此,同时调整slpcor'中180-360的点至0-180点的左侧,调整后的文件存放excel文件,然后再进行contourf(lon,Lat,slpcorad),得到第二张图
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-10-27 23:55:25 | 显示全部楼层
可以交流,加q:1090462959
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-7-15 10:15:02 | 显示全部楼层
楼主,请问您的问题解决了嘛?我也不会显著先检验,能否向您讨教一下。万分感谢。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表