- 1. 2013年之后的格式暂不知道哪里不对,读入有错
- 2. 按年份读入合并,排列全部按时间顺序
%读入台风数据
m=1949;n=2013;%2020
i=1;
a=num2str(m);
filename=strcat('D:\学习\8.20南海\台风数据1949-2020\CH',a,'BST.txt');
data1=importdata(filename);
data=data1.textdata ;
for i=m+1:n
if i==1978
continue
end
a=num2str(i);
filename=strcat('D:\学习\8.20南海\台风数据1949-2020\CH',a,'BST.txt');
data2=importdata(filename);
data=[data;data2.textdata];
end
%每个台风的记录行数record
k=1;
for i=1:6000
if k=64540
break
end
record(i,1)=str2num(data{k,3});
k=k+record(i,1)+1;
end
%每个台风的记录编号serial_num
k=1;
for i=1:size(record,1)
serial_num(i,1)=str2num(data{k,4});
k=k+record(i,1)+1;
end
%每个台风的记录名字name
name=cell(size(record,1),1);
k=1;
for i=1:size(record,1)
name(i,1)=data(k,8);
k=k+record(i,1)+1;
end
%挑选记录年的行数
year_0=1949:2013;year_0(year_0==1978)=[];year_0=year_0';%年份
%
year=find(serial_num==1);
k=1;l=1;
for i=1:size(year,1)
for j=year(i,1):year(i+1,1)-1
k=k+record(j,1)+1;
end
year_num(l,1)=k;
l=l+1;
end
year_num=year_num-1;%10128为新年行头,故要减一行
%例-找1971年的数据
a=find(year_0==1971);
A=data(year_num(a-1,1):year_num(a,1), ? );