现在已有温度数据,并用程序读取出各地温度;基准站序列变化的数据和温度如下。想请大佬帮忙写一个把两个数据对应起来的程序,最好显示图像
clc
clear all;
%InPath = '/Volumes/Wang Kaihua/Wang Kaihua/PhD data/LST_grid/NOAA:NCEP_0.5/tmin.2018.nc';
InPath = 'C:\Users\asus\Desktop\毕设\';
ncdisp(strcat(InPath,'tmin.2000.nc'));
% %??????????????????
% filename = dir(InPath);
%name=filename.name;
%ncdisp(strcat(name)); %??????????nc??????????????
%----------------------vardata = ncread(source,varname)????----------------%
% vardata = ncread(source,varname)
%source1 = strcat(name);
source1 = strcat(InPath,'tmin.2000.nc');
varname1 = 'lon';
varname2 = 'lat';
varname3 = 'time';
varname4 = 'tmin';
LON = ncread(source1,varname1);
LON = double(LON);
LAT = ncread(source1,varname2);
LAT = double(LAT);
TIME = ncread(source1,varname3);
TIME = double(TIME(:,1));
%??????????hours since 1900-01-01 00:00:0.0??????????MJD
TIME(:,1) = double((TIME(:,1)-876588)/24+51544.5);
LST = ncread(source1,varname4); %#ok<*SAGROW>
%????????????????
LST = double(LST);
%??????????????TIME(MJD),LON(degrees),LAT(degrees),LST(??????)
%reshape???????
for i=1:1:length(TIME)
lst_vec_min(:,i)=reshape(LST(:,:,i)',259200,1);
% B = reshape(A,m,n) 将矩阵A的元素返回到一个m×n的矩阵B
%259200=720*360
end
%InPath = '/Volumes/Wang Kaihua/Wang Kaihua/PhD data/LST_grid/NOAA:NCEP_0.5/tmax.2018.nc';
InPath = 'C:\Users\asus\Desktop\毕设\';
%
ncdisp(strcat(InPath,'tmax.2000.nc'));
%??????????????????
%filename = dir(InPath);
%name=filename.name;
%ncdisp(strcat(name)) %??????????nc??????????????
%----------------------vardata = ncread(source,varname)????----------------%
% vardata = ncread(source,varname)
%source1 = strcat(name);
source1 = strcat(InPath,'tmax.2000.nc');
varname1 = 'lon';
varname2 = 'lat';
varname3 = 'time';
varname4 = 'tmax';
LON = ncread(source1,varname1);
LON = double(LON);
LAT = ncread(source1,varname2);
LAT = double(LAT);
TIME = ncread(source1,varname3);
TIME = double(TIME(:,1));
%??????????hours since 1900-01-01 00:00:0.0??????????MJD
TIME(:,1) = double((TIME(:,1)-876588)/24+51544.5);
LST1 = ncread(source1,varname4); %#ok<*SAGROW>
%????????????????
LST1 = double(LST1);
%??????????????TIME(MJD),LON(degrees),LAT(degrees),LST(??????)
%reshape???????
for i=1:1:length(TIME)
lst_vec_max(:,i)=reshape(LST1(:,:,i)',259200,1);
end
% for i=1:1:length(TIME)
% lst_vec_ave(:,:,i)= (LST(:,:,i)+LST1(:,:,i))/2;
% end
% save('201801.mat','lst_vec_ave');
LST_vec=(lst_vec_max+lst_vec_min)/2;
% lat_mdmd = -15.215;%150行
% lon_mdmd = 0.267;%1列
%wuhan
lat_mdmd = 29.9;%行 纬度
lon_mdmd = 113.91;%列 经度
for i=1:1:length(TIME)
lst_temp= reshape(LST_vec(:,i),360,720);
T_mdmd(i) = bilinear_interpolation(lst_temp,lon_mdmd,lat_mdmd);
[row,column]=size(lst_temp);
end
save('201802.mat','LST_vec');
disp('finished!')