Matlab 用corrcoef函数计算蒸发和降水的相关性,风场散度和降水的相关性

clear all;close all;clc

%%
lon = ncread('hawaii_evap.nc','longitude');
lat = ncread('hawaii_evap.nc','latitude');
evap= ncread('hawaii_evap.nc','param03');%蒸发
prec= ncread('hawaii_evap.nc','param02');%降水

corr = zeros(length(lon), length(lat) );
%
for i = 1:length(lon)
    for j = 1:length(lat)
        [r p] = corrcoef( squeeze(evap(i,j,:)), squeeze(prec(i,j,:)) );
        corr(i,j) = r(1,2);
    end
end

[lat2d lon2d] = meshgrid(lat, lon);
figure(1)
set( gcf , 'color' ,'w');
m_proj('miller','lat',[-90, 90],'lon',[0, 360]);
m_contourf(lon2d, lat2d,corr,20)
colormap('jet');colorbar
caxis([-1 1])
m_coast('patch',[.7 .7 .7],'edgecolor','none');
m_grid('box','on','linestyle','none');
title('蒸发与降水的相关性','fontsize',18)
%%   风场散度和降水相关
lon = ncread('hawaii_ecmwf_precipitation.nc','longitude');
lat = ncread('hawaii_ecmwf_precipitation.nc','latitude',[2],[72]);
time= ncread('hawaii_ecmwf_precipitation.nc','time');
prec = ncread('hawaii_ecmwf_precipitation.nc','param02',[1 2 1],[inf 72 inf]);
uwind= ncread('hawaii_ecmwf_precipitation.nc','param36',[1 2 1],[inf 72 inf]);
vwind= ncread('hawaii_ecmwf_precipitation.nc','param38',[1 2 1],[inf 72 inf]);

%
[lat2d,lon2d] = meshgrid(double(lat),double(lon));

% calculate divergence 
dd0 = 2*pi*6371000/360;  % distance for one Latitude (unit: meter)
xx = lon2d*dd0.*cosd( lat2d );
yy = lat2d*dd0;

%计算散度
div=[];
for ii=1:269
    div1 = divergence( xx', yy', uwind(:,:,ii)', vwind(:,:,ii)' );
    div1 = div1';
    div=cat(3,div,div1);
end
%计算相关系数
corr = zeros(length(lon), length(lat) );
for i = 1:length(lon)
    for j = 1:length(lat)
        [r p] = corrcoef( squeeze(div(i,j,:)), squeeze(prec(i,j,:)) );
        corr(i,j) = r(1,2);
    end
end


%
[lat2d lon2d] = meshgrid(lat, lon);
figure(2)
set( gcf , 'color' ,'w');
m_proj('miller','lat',[-90, 90],'lon',[0, 360]);
m_contourf(lon2d, lat2d,corr)
colormap('jet');colorbar
caxis([-1 1])
m_coast('patch',[.7 .7 .7],'edgecolor','none');
m_grid('box','on','linestyle','none');
title('风场散度和降水的相关性','fontsize',18)

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值