1

我有一个 rinex 文件,并显示在这里..显示 rinex 文件第一部分的图像

http://imageshack.us/photo/my-images/593/65961409.jpg

数据(AOPR Rinex 文件)在输入一年零后从网站下载。

http://www.naic.edu/aisr/GPSTEC/gpstec.html

我想在 matlab 中将此文件作为矩阵打开以进行进一步处理。在第 42 行标题结束后,时间信息位于第 43 行。然后数据开始。但是在某些行说 64 行之后,时间信息又出现了,应该丢弃。标题也应该被丢弃。最后一列作为第二行位于第一列下方,应转移到最后一列。总共有 55700 行。请帮我解决这个问题。

4

2 回答 2

0

我怀疑出现在下面一行的最后一列只是文本阅读器窗口大小的伪影......

对于其余部分,我认为这里有一个试错循环:

fid = fopen('test.txt','r');
C = {};
while ~feof(fid)
    % read lines with dictated format.
    D = textscan(fid, '%d %d %d %d');

    % this will fail on headerlines, empty lines, etc.
    if isempty(D{1})
        % in those cases, advance the file pointer by one line
        fgetl(fid);
    else
        % if that's not the case, save the lines thus read 
        C = [C;D]; %#ok
    end
end
fclose(fid);

% Post-process: concatenate all sub-arrays into one
C = arrayfun(@(ii) cat(1, C{:,ii}), 1:size(C,2), 'UniformOutput', false);

这至少适用于我的test.txt

header 
random 
garbage
1 2 3 4
4 5 6 7
4 6 7 8
more random garbage
2 5 6 7
5 6 7 8
8 6 3 7
于 2012-10-24T06:49:20.107 回答
0

我怀疑出现在它下面一行的最后一列只是文本阅读器的窗口有多大的人工制品......

其余的,我认为这里有一个试错循环

亲爱的罗迪,我没有任何 matlab 背景,只是一个初学者。它实际上是一个 Rinex 文件。具有 2780 个时期和 6 个具有 30 个卫星值的可观测值。在 matlab 中对其进行解码非常困难。那就是问题所在。您可以在以下位置阅读示例代码

http://web.ics.purdue.edu/~tdauterm/EAS591/Lab7/read_rinexo.m

但问题是 observables 有 6 个,而 m 文件中只有 5 个,而且顺序也不正确。我需要C1 P2 L1 L2 S1 S2 ...但链接上的代码给出了L1 L2 C1 P1 P2。:(你能纠正一下吗..那将是一个很大的帮助..

于 2012-10-25T09:36:36.523 回答