香港探空站GPS2010年气象数据0\6\12\18时刻数据批量提取


香港探空站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)


香港探空站GPS2010年气象数据0\6\12\18时刻数据批量提取_第1张图片

香港探空站GPS2010年气象数据0\6\12\18时刻数据批量提取_第2张图片

你可能感兴趣的:(GNSS)