你如何在Matlab中打开包含矩阵的.txt文件?

时间:2010-04-28 14:54:23

标签: matlab

我目前正在处理该项目,并且很难在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

1 个答案:

答案 0 :(得分:2)

您可以使用MATLAB的importdata函数,该函数将读入并将文件保存在两个字段中:标题的单元格数组'textdata'和后面的数字数据的矩阵'data'。

input = importdata('datafile.txt', ' ', 29)

此示例中的参数是输入文件名,空格作为分隔符,以及标题行数。

然后将360x90矩阵存储为input.data

如果标题行的数量不同但每个文件都已知,则可以使用变量作为header-length参数。如果您不知道期望有多少标题行,您可以在MATLAB中做一些花哨的步法来解析.txt文件,但此时,我会用sed或perl等预处理.txt文件然后读取MATLAB中的数字部分。