将文本文件导入为矩阵

时间:2019-07-18 09:02:25

标签: octave

我正在尝试将txt文件导入八度,其中包含数据矩阵。 矩阵如下所示:

49       ..1. ...1.......... .....       49
47       ..12 ...1...... ... .....       47
45       ..12....1...... 2....1...       45
43      ....2....1...... 2...1....       43
41      .1..2.. .........2. .1.....      41
39      .1.12.2....1.....2. .1.....      39
37      .1..2.22...1.....2. .1.....      37
35      .1. 2222...2....2....1.1...      35
33      ....22.2...2....2....12....      33
31      ....22.2...2..........21...      31
29      .....2.2...2.....2....21...      29
27     ........222222....2....21....     27
25     .......22.2222....2.22.2.....     25
23     .......22.2222....2.2..2.....     23
21     .......222.222....2.2........     21
19     ........22.222....2..........     19
17    ..........2.2.2...22...........    17
15    ...............................    15
13    .......................2.......    13
11    .......................2......2    11
 9   ........................2.....222    9
 7 . ................. ..... ......222.   7
 5 ..................           ....1..   5
 3 ....... .........               ....   3
 1                                        1

这实际上是我必须绘制的地图/坐标系(y轴=方位角,x轴=纬度)。 (空白=没有数据,。=没有效果,1 =弱效果,2 =强效果。)

结果应类似于this

由于我无法导入该txt文件,因此将其更改为该文件。

49;1;1;1;1;1;1;1;2;2;3;2;1;2;2;2;3;2;2;2;2;2;2;2;2;2;2;1;2;2;2;2;2;1;1;1;1;1;1;1;49
47;1;1;1;1;1;1;1;2;2;3;4;1;2;2;2;3;2;2;2;2;2;2;1;2;2;2;1;2;2;2;2;2;1;1;1;1;1;1;1;47
45;1;1;1;1;1;1;1;2;2;3;4;2;2;2;2;3;2;2;2;2;2;2;1;4;2;2;2;2;3;2;2;2;1;1;1;1;1;1;1;45
43;1;1;1;1;1;1;2;2;2;2;4;2;2;2;2;3;2;2;2;2;2;2;1;4;2;2;2;3;2;2;2;2;1;1;1;1;1;1;1;43
39;1;1;1;1;1;1;2;3;2;3;4;2;4;2;2;2;2;3;2;2;2;2;2;4;2;1;2;3;2;2;2;2;2;1;1;1;1;1;1;39
37;1;1;1;1;1;1;2;3;2;2;4;2;4;4;2;2;2;3;2;2;2;2;2;4;2;1;2;3;2;2;2;2;2;1;1;1;1;1;1;37

,依此类推。 这正在使用我的代码。

RawMap = dlmread('C:\Desktop\2576.map', ';', 0:80, 0:24)
Map = flipud(RawMap)
pcolor(Map(:,2:end-1))

为此,我不想更改代码。因此,我需要导入原始文件。 有什么建议么? 谢谢

1 个答案:

答案 0 :(得分:0)

这是一种有意义地解析文件的方法:

S = fileread('testo.txt');
S = strsplit (S, "\n");
S = strvcat( S );
S = double(S);
S = S(:, 4:end-4);

S( S == double(" ") ) = 0;
S( S == double(".") ) = 1;
S( S == double("1") ) = 2;
S( S == double("2") ) = 3;

pcolor(S); axis ij;