Matlab处理气象数据(九)逐点变化的显著性分析

18 篇文章 70 订阅

利用上面M-K趋势分析的结果,只让置信度大于95%的数据在地图上显示。
这里,可以先自定义一个colorbar

mycolor = colormap; %mycolor名称任意
save mycolor mycolor;

下次画图时,只要先load mycolor; 再输入colormap(mycolor) 就可以直接用这个colorbar了。

% 逐点变化显著性
% 导入数据Y1、Y2
Y=Y2-Y1;
Y=Y(:,:,3:35);
YA=Y(:,:,1:19);
YB=Y(:,:,20:33);

% 1981-1999年的
for j=1:128
	for i=1:72
		y=YA(i,j,:);
		n = 19;
		dt=1;
		% 计算统计量
		s = 0;
		for p = 1:n-1
		    for q = p+1:n
		        s = s + sign( y(q) - y(p) );
		    end
		end
		% 方差( assuming no tied groups )
		v = ( n * ( n - 1 ) * ( 2 * n + 5 ) ) / 18;
		% 检验统计量
		if s == 0
			z = 0;
			elseif s > 0,
			z = ( s - 1 ) / sqrt( v );
		else
			z = ( s + 1 ) / sqrt( v );
		end
		% should calculate Normal value here
		nor = 1.64;
		if abs( z ) < nor,
			sya(i,j) = 0;
		else
			% 计算斜率
			ndash = n * ( n - 1 ) / 2;
			s = zeros( ndash,1 );
			s=nan;
			r = 1;
			for p = 1:n-1
				for q = p+1:n
					s(r) = ( y(q) - y(p) ) / ( q - p ) / dt;
					r = r + 1;
				end
			end
			sya(i,j) = median( s );
		end
	end
end
pcolor(sya);
shading flat;
load mycolor;
colormap(mycolor);

% 1999-2013年的
for j=1:128
	for i=1:72
		y=YB(i,j,:);
		n = 14;
		dt=1;
		% 计算统计量
		s = 0;
		for p = 1:n-1
		    for q = p+1:n
		        s = s + sign( y(q) - y(p) );
		    end
		end
		% 方差( assuming no tied groups )
		v = ( n * ( n - 1 ) * ( 2 * n + 5 ) ) / 18;
		% 检验统计量
		if s == 0
			z = 0;
			elseif s > 0,
			z = ( s - 1 ) / sqrt( v );
		else
			z = ( s + 1 ) / sqrt( v );
		end
		% should calculate Normal value here
		nor = 1.64;
		if abs( z ) < nor,
			syb(i,j) = 0;
		else
			% 计算斜率
			ndash = n * ( n - 1 ) / 2;
			s = zeros( ndash,1 );
			s=nan;
			r = 1;
			for p = 1:n-1
				for q = p+1:n
					s(r) = ( y(q) - y(p) ) / ( q - p ) / dt;
					r = r + 1;
				end
			end
			syb(i,j) = median( s );
		end
	end
end
pcolor(syb);
shading flat;
load mycolor;
colormap(mycolor);

这时即可画出NCEP数据和观测数据平均温度差值1981-1999年和2000-2013年的在95%置信水平下的逐点变化趋势。(图略)

如果白色区域有颜色,就需要在Figure窗口手动调整,点击Edit菜单,选择Colormap,进入Colormap Editor,将数值的最小最大值调成绝对值相同的数值,这里我调成了-0.2和0.2,色彩空间保持HSV,然后确定即可。

类似地,最高温度和最低温度也可以得到这样的图。(图略)


相关链接:
Matlab处理气象数据——目录

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 显著点的检测 Itti的A Model of Saliency-Based Visual Attention for Rapid Scene Analysis (TPAMI 1999)论文是显著性检测的鼻祖论文,检测出来的是用户关注的点。 2. 显著区域的检测 侯晓迪同学在2007年发表的一篇CVPR的论文,用很简单的方法检测了显著性区域,那之后显著性检测主要以区域检测为主:Saliency detection: A spectral residual approach (CVPR 2007),虽然之后有人诟病这篇论文有不足之处,但该想法简单,推动了显著性研究的普及。侯同学靠这一篇文章再加上投稿期间的趣事,就封神了。 3. 其他经典的显著性检测方法 在那之后陆续又有一些经典的显著性检测算法被提出:https://blog.csdn.net/touch_dream/article/details/78716507 可以看这个博文。 4. 基于深度学习的显著性检测 再之后,显著性检测领域就进入了Deep Learning时代, Deep Visual Attention Prediction TIP2018 (CODE)     https://github.com/wenguanwang/deepattention Predicting Human Eye Fixations via an LSTM-based Saliency Attentive Model (CODE)     https://github.com/marcellacornia/sam CVPR2016 Shallow and Deep Convolutional Networks for Saliency Prediction (CODE)     https://github.com/imatge-upc/saliency-2016-cvpr Saliency Detection with GAN (2017)     https://github.com/imatge-upc/saliency-salgan-2017  (CODE)     https://github.com/batsa003/salgan/ (PyTorch的版本) 5. 非自然图象的显著性检测 例如,海报的显著性检测,图表的显著性检测,地理数据的显著性检测等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值