- 积分
- 372
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-4-8
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
function MW_dataTransfer( )
%MW_DATATRANSFER 批量将微波辐射计的数据导入,并画图,画四张图,Temp(k) VaporDensity Liquid RH%
% Detailed explanation goes here
%数据的格式为三维数组M[1:58,1:6,1:t},为m*n*t=58*5*t维,其中M为行数代表着不同高度共58层,
%n代表不同的要素
%分别为1为高度Height(m) Temp(k) VaporDensity Liquid RH%
filename='MW1601192000.txt';
%saveFileName='b';
%M=dlmread(filename,'\t',1,3);
MW_m=58; %58个高度层
MW_n=6; %6个要素
MW_t=240; %48个时次
%从第一行第四列开始读入数据,M_m代表行数,M_n代表列数
frist_time=datetime('1601192000','InputFormat','yyMMddHHmm');
time_arrary=frist_time+hours(0:0.5:(MW_t-1)*0.5);
% 第一个文件名对应的时间为frist_time,所有的文件对应的时间入在数组time_arrary
MW_data(MW_m,MW_n,MW_t)=1;
%数据存在在一个三维矩阵中
%设置横坐标为时间,将时间写入到一个cell的字符串数组中,然后在设置
% set (gca,'XTick',x_ticks);ax.XTickLabel = datastr_tick_label
x_tick_interval=24;
% xtick_interval表示下标隔离多少标一次,间隔,注意单位可能是半小时
x_ticks=1:x_tick_interval:MW_t;
datastr_tick_label={};
j=1;
for t=1:x_tick_interval:MW_t
datastr_tick_label(j)= {datestr(time_arrary(t),'dd日HH时')};
j=j+1;
end
%将数据读入数组 MW_data中
for t=1:MW_t
datastring=datestr(time_arrary(t),'yymmddHHMM');
filename=['MW' datastring '.txt'];
%数据存放的文件名为filename
try
M=dlmread(filename,'\t',1,3);
catch
disp(['error occur while read the ',filename]);
end
M_m=size(M,1);
M_n=size(M,2);
%读入到M中的数据进行维度判断,合适加入三维矩阵中
if (MW_m==M_m)&(MW_n==M_n)
MW_data(:,:,t)=M;
end
end
H_data=reshape(( MW_data(:,1,1)),MW_m,1);
%高度,其实是y轴对应的数据,
x_data =1:MW_t;
%时间的次数,为x轴应对的数据
T_data=reshape(( MW_data(:,2,:)-273.15),MW_m,MW_t);
%为温度的数据,并进行重新排列为m*t维
% VaporDensity Liquid RH%
VaporDensity_data=reshape(( MW_data(:,3,:)),MW_m,MW_t);
Liquid_data=reshape(( MW_data(:,4,:)),MW_m,MW_t);
RH_data=reshape(( MW_data(:,5,:)),MW_m,MW_t);
%开始绘图%
draw_pcolor( x_data,H_data,T_data,'T','T',x_ticks,datastr_tick_label);
draw_pcolor( x_data,H_data,VaporDensity_data,'VaporDensity','VaporDensity',x_ticks,datastr_tick_label);
draw_pcolor( x_data,H_data,Liquid_data,'Liquid','Liquid',x_ticks,datastr_tick_label);
draw_pcolor( x_data,H_data,RH_data,'RH','RH',x_ticks,datastr_tick_label);
%
function draw_pcolor(x,y,data,titleName,saveFileName,xtick,xticklabel)
h_fig=figure('Name','picture','position',[200 150 1200 800]);
pcolor(x,y,data);
colormap jet
shading interp
title(titleName);
xlabel('time');
ylabel('h单位m ');
ax = gca;
ax.TickDir = 'out';
ax.TickLength = [0.01 0];
ax.XTick=xtick;
ax.XTickLabel = xticklabel;
colorbar('southoutside');
saveas(gcf,saveFileName,'jpeg');
end
end
|
-
-
评分
-
查看全部评分
|