|
1.格点数据降尺度插值到气象站点:
(1)降尺度模型,SDSM,ASD,......
(2)meteoinfo 双线性插值
2.气象站点数据插值到格点:
(1).griddata
将散点数据插值到网格点上。
用法1:vq =griddata(x,y,v,xq,yq)或vq =griddata(x,y,z,v,xq,yq,zq)
v是数值,其之前是给出其坐标,之后是给出其插值到网格点的坐标。
用法2:vq =griddata(..., method)
方法有这么几种:'linear'、'cubic'、'natural'、'nearest'、'v4'。
其中'natural'为自然邻域插值,是在MATLAB® 4中使用的griddata方法。
关于不同方法插值的差异,在我的下面这个帖子中有说明:
http://bbs.06climate.com/forum.php?mod=viewthread&tid=27850&fromuid=904
(2).griddatan
将griddata扩展到超空间中。
用法:yi =griddatan(x,y,xi)以及yi = griddatan(x,y,xi,method)
这里的method只能使用默认的'linear'或者'nearest'。
(3)meshgrid+griddata/interp2
(4)matlab1:
clear all;close all;clc
PrData = ncread(filename,'pr');
TimeData = ncread(filename,'time');
LonData = ncread(filename,'lon');
LatData = ncread(filename,'lat');
PrData=permute(PrData, [2 1 3]);
[xx,yy,zz]=meshgrid(LonData,LatData,TimeData);
[xi,yi,zi]=meshgrid(128:1:135,43:1:48,TimeData);%得到128~135E,43~48N这个范围的数据~
vi=interp3(xx,yy,zz,PrData,xi,yi,zi);
% interp1, interp2, interp3等插值函数中的'linear'选项就是双线性插值。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% nc数据求平均
数据是lat*lon*time
每年的平均:
ii=0;
for year=1961:2005
ii=ii+1;
Temp_anual(:,:,ii)=nanmean(val(:,:,ii*12-11:ii*12));
end
所有年固定月平均
for month=1:12
Temp_mon(:,:,month)=nanmean(val(:,:,month:12:end));
end
3.降尺度(改变分辨率)
IDW griddata(plon,plat,data,lons,lats,'v4');
https://ww2.mathworks.cn/help/matlab/ref/griddata.html?searchHighlight=griddata&s_tid=doc_srchtitle
doc help
双线性插值......
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-3-28 20:07
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社