clear,clc;
%% 2005年之前一天4次观测
[data,text] = xlsread('D:\TEST\Matlab程序\气象资料统计\1987-2017年定时风向风速(一天4次)','I2:Q6576');
wind_2 = text(:,1); %2点风向
wind_8 = text(:,3); %8点风向
wind_14 = text(:,5); %14点风向
wind_20 = text(:,7); %20点风向
wind_all = cat(1,wind_2,wind_8,wind_14,wind_20); %把每天4次观测数据拼接到一个矩阵
total = zeros(17,1);
for i=1:length(wind_all)
if(strcmp(wind_all(i),'NNE')) % strcmp()函数比较的是两个字符串是否相等。
total(1) = total(1)+1;
elseif(strcmp(wind_all(i),'NE'))
total(2) = total(2)+1;
elseif(strcmp(wind_all(i),'ENE'))
total(3) = total(3)+1;
elseif(strcmp(wind_all(i),'E'))
total(4) = total(4)+1;
elseif(strcmp(wind_all(i),'ESE'))
total(5) = total(5)+1;
elseif(strcmp(wind_all(i),'SE'))
total(6) = total(6)+1;
elseif(strcmp(wind_all(i),'SSE'))
total(7) = total(7)+1;
elseif(strcmp(wind_all(i),'S'))
total(8) = total(8)+1;
elseif(strcmp(wind_all(i),'SSW'))
total(9) = total(9)+1;
elseif(strcmp(wind_all(i),'SW'))
total(10) = total(10)+1;
elseif(strcmp(wind_all(i),'WSW'))
total(11) = total(11)+1;
elseif(strcmp(wind_all(i),'W'))
total(12) = total(12)+1;
elseif(strcmp(wind_all(i),'WNW'))
total(13) = total(13)+1;
elseif(strcmp(wind_all(i),'NW'))
total(14) = total(14)+1;
elseif(strcmp(wind_all(i),'NNW'))
total(15) = total(15)+1;
elseif(strcmp(wind_all(i),'N'))
total(16) = total(16)+1;
elseif(strcmp(wind_all(i),'C'))
total(17) = total(17)+1;
end
end
%% 2005年开始一天24次观测
[data_2005_,text_2005_] = xlsread('D:\TEST\Matlab程序\气象资料统计\1987-2017年定时风向风速(一天4次)','I6577:Q11324');
data_2005_(isnan(data_2005_)) = -1;
wind_2_2005_ = data_2005_(:,2); %2005年后2点风向
wind_8_2005_ = data_2005_(:,4); %2005年后8点风向
wind_14_2005_ = data_2005_(:,6); %2005年后14点风向
wind_20_2005_ = data_2005_(:,8); %2005年后20点风向
wind_all_2005_ = cat(1,wind_2_2005_,wind_8_2005_,wind_14_2005_,wind_20_2005_); %把2005年以后每天4次观测数据拼接到一个矩阵
total_2005_ = zeros(17,1);
for i=1:length(wind_all_2005_)
if( wind_all_2005_(i)>11.25&&wind_all_2005_(i)<33.75) %从NNE方向开始
total_2005_(1) = total_2005_(1)+1;
elseif( wind_all_2005_(i)>33.75&&wind_all_2005_(i)<56.25)
total_2005_(2) = total_2005_(2)+1;
elseif( wind_all_2005_(i)>56.25&&wind_all_2005_(i)<78.75)
total_2005_(3) = total_2005_(3)+1;
elseif( wind_all_2005_(i)>78.75&&wind_all_2005_(i)<101.25)
total_2005_(4) = total_2005_(4)+1;
elseif( wind_all_2005_(i)>101.25&&wind_all_2005_(i)<123.75)
total_2005_(5) = total_2005_(5)+1;
elseif( wind_all_2005_(i)>123.75&&wind_all_2005_(i)<146.25)
total_2005_(6) = total_2005_(6)+1;
elseif( wind_all_2005_(i)>146.25&&wind_all_2005_(i)<168.75)
total_2005_(7) = total_2005_(7)+1;
elseif( wind_all_2005_(i)>168.75&&wind_all_2005_(i)<191.25)
total_2005_(8) = total_2005_(8)+1;
elseif( wind_all_2005_(i)>191.25&&wind_all_2005_(i)<213.75)
total_2005_(9) = total_2005_(9)+1;
elseif( wind_all_2005_(i)>213.75&&wind_all_2005_(i)<236.25)
total_2005_(10) = total_2005_(10)+1;
elseif( wind_all_2005_(i)>236.25&&wind_all_2005_(i)<258.75)
total_2005_(11) = total_2005_(11)+1;
elseif( wind_all_2005_(i)>258.75&&wind_all_2005_(i)<281.25)
total_2005_(12) = total_2005_(12)+1;
elseif( wind_all_2005_(i)>281.25&&wind_all_2005_(i)<303.75)
total_2005_(13) = total_2005_(13)+1;
elseif( wind_all_2005_(i)>303.75&&wind_all_2005_(i)<326.25)
total_2005_(14) = total_2005_(14)+1;
elseif( wind_all_2005_(i)>326.25&&wind_all_2005_(i)<348.75)
total_2005_(15) = total_2005_(15)+1;
elseif( wind_all_2005_(i)>348.75||(wind_all_2005_(i)>0&&wind_all_2005_(i)<11.25))
total_2005_(16) = total_2005_(16)+1;
elseif( wind_all_2005_(i)<0)
total_2005_(17) = total_2005_(17)+1;
end
end
%% 2005年之前和2005年以后数据加和
TOTAL = total+total_2005_;