2010-04-28 82 views
2

我目前正在研究這個項目,並且很難在Matlab中打開.txt文件。 這個.txt文件包含矩陣(數字)形式的降雨雷達數據,[m,n] = [360,90]。 以下是我遇到的問題。如何在Matlab中打開包含矩陣的.txt文件?


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文本行以及最後的文本行需要被跳過。

我將非常感激,如果有人可以幫助我在

矩陣的行,列] = [360,90]的形式開拓在Matlab此文件。

非常感謝您的時間。

問候, NadeaR

回答

2

可以使用MATLAB的importdata功能,這將讀入並保存在兩個字段的文件:用於報頭的單元陣列「的TextData」和矩陣「數據」爲數值數據隨後。

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

本例中的參數是輸入文件名,空格作爲分隔符,以及標題行數。

然後將360x90矩陣存儲爲input.data

如果標題行的數量有變化,但每個文件都已知,則可以使用變量作爲標題長度參數。如果你不知道需要多少標題行,你可以在MATLAB中做一些奇特的腳步來分析.txt文件,但在那個時候,我會用sed或perl等預處理.txt文件,然後改爲使用MATLAB中的數字部分讀取。