香港探空站GPS2010年气象数据0\6\12\18时刻数据批量提取
本身不是GNSS研究方向,帮同学批量提取数据,因此接触到GPS数据,由于matlab强大的矩阵处理能力,运算速度嗖嗖滴.
重点解决如下问题:
(1) 文件名称HKSC001.txt、HKSC002.txt、、、HKSC365.txt批量.txt文件读取问题,同样Fortran也遇到相似的问题,循环1~365,但文件为001-365,代码中有解决 .
(2).txt用fopen函数不怎么好用,建议用txtread.
(3) 每个.txt都有一些头文件,如何最简单的去除头文件 .
(4) 利用matlab强大的矩阵运算能力,批量提取365天气象数据矩阵中每天0、6、12、18时刻的气象数据。
如有好的建议,请在评论区留言,我们一起进步。
clear all
clc;
pt = 'F:\temp\2010\';
ff = 'HKSC';
ext = '.txt';
n = 365;
for k = 1:n
id = num2str(k,'%03d');
files{k} = [pt ff id ext];
end
for p = 1:length(files)
fds = 0;
filename=files{p};
[dataa1,dataa2,dataa3,dataa4,dataa5,dataa6,dataa7,dataa8,dataa9]=textread( filename,'%n%n%n%n%n%n%n%n%n','headerlines',14);
data{p}=[dataa1,dataa2,dataa3,dataa4,dataa5,dataa6,dataa7,dataa8,dataa9];
end
alldata=[];
for q=1:365
alldata=[alldata;data{q}];
end
F1=find(alldata(:,4)==0&alldata(:,5)==0);
F2=find(alldata(:,4)==6&alldata(:,5)==0);
F3=find(alldata(:,4)==12&alldata(:,5)==0);
F4=find(alldata(:,4)==18&alldata(:,5)==0);
F=cat(1,F1,F2,F3,F4);
FF=sortrows(F);
R=alldata(FF,:);
xlswrite('2010HKSC.xls',R)