資源簡介
matlab代碼讀電離層TEC文件

代碼片段和文件信息
function?matrix_vtec?=?load_inx_file(?filename?)
%?讀取一個INX文件
%?將每天的結果保存為一個mat文件
%?2013年4月5日22:13:47創建
%?2015年1月31日13:54:13修改
fid=fopen(?filename?);
if?fid==-1
????error(‘文件打開失敗!‘);
end
%?讀INX文件的文件頭
while?feof(fid)==0
????tline=fgetl(fid);
????if?strfind(tline‘END?OF?HEADER‘)
????????break;
????end
end
%?保存VTEC的矩陣,大小為71*73*12
matrix_vtec?=?nan(717312);
epoch?=?0;
lat_cnt?=?0;
%?讀INX文件記錄部分
while?~feof(fid)
????tline=fgetl(fid);
????if?strfind(tline‘START?OF?RMS?MAP‘)
????????break;
????end
????if?strfind(tline‘START?OF?TEC?MAP‘)
????????epoch?=?epoch?+?1;
????????if?epoch?>?12
????????????break;
????????end
????????lat_cnt?=?0;
????end
????if?strfind(tline‘LAT/LON1/LON2/DLON/H‘)
????????vtec_lat?=?[];
????????for?i=1:5?????%?一個時段的記錄有5行
????????????tline=fgetl(fid);
????????????vtec?=?str2num(?tline?);??%?將一行的記錄轉換為向量
????????????vtec_lat?=?[vtec_lat?vtec];
????????end
????????lat_cnt?=?lat_cnt?+?1;
????????matrix_vtec(lat_cnt:epoch)?=?vtec_lat;
????end?
end
fclose(fid);
%?INX文件的單位為0.1TECu,將單位變成TECu
matrix_vtec?=?matrix_vtec/10;?%?#ok
%?len?=?length(filename);
%?save([filename(len-11:len-5)‘.mat‘]‘matrix_vtec‘);
?disp?OK!!?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1314??2015-11-01?10:40??load_inx_file.m
-----------?---------??----------?-----??----
?????????????????1314????????????????????1
- 上一篇:蘭頓螞蟻 MATLAB實現代碼
- 下一篇:廣度優先搜索 matlab
評論
共有 條評論