我目前正在处理该项目,并且很难在Matlab中打开.txt文件。 该.txt文件包含矩阵(数字)形式的降雨雷达数据,[m,n] = [360,90]。 以下是我遇到问题的数据。
Projection Metadata:
Radar number 54
Number of radials in scan 360
Number of range bins in scan 90
Starting range 127500.000000
Maximum range 150000.000000
Azimuth of first radial -0.500000
Azimuth of last radial 359.500000
Range bin size 250.000
Separation between radials 1.000
Projection POLAR
Units METRES DEGREES
Spheroid GRS80
Parameters :
Latitude of radar (degrees) -34.017000
Longitude of radar (degrees) 151.230000
Beam elevation angle (0 for CAPPI) 0.000
Scan metadata :
Time (seconds since 01/01/1970) 973199701
Time (dd/mm/yyyy hh:mm:ss) 02/11/2000 21:15:01
Time zone (seconds ahead of UTC) 0
Time zone (hours ahead of UTC) +0.0
Data type flag 9
Data type Reflectivity
Data units dBZ
Not forecast data
Not simulated data
Scan data :
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ..>1
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ....
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ....
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ....
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ....
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ....
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ....
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ....
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ..>360
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . 90
End of scan data.
正如您所看到的,需要跳过前29个文本行以及最后一个文本行。
如果有人能帮我在Matlab中以
的形式打开这个文件,我将非常感激矩阵[row,column] = [360,90]。
非常感谢你的时间。
此致 NadeaR
答案 0 :(得分:2)
您可以使用MATLAB的importdata
函数,该函数将读入并将文件保存在两个字段中:标题的单元格数组'textdata'和后面的数字数据的矩阵'data'。
input = importdata('datafile.txt', ' ', 29)
此示例中的参数是输入文件名,空格作为分隔符,以及标题行数。
然后将360x90矩阵存储为input.data
。
如果标题行的数量不同但每个文件都已知,则可以使用变量作为header-length参数。如果您不知道期望有多少标题行,您可以在MATLAB中做一些花哨的步法来解析.txt文件,但此时,我会用sed或perl等预处理.txt文件然后读取MATLAB中的数字部分。