如何从MATLAB中的文件中读取行* col矩阵

时间:2014-07-09 15:35:55

标签: matlab file-io matrix

我在文件中有以下数据。

1 3 5 
2 6 8
10 12 14
16 18 20 

我想用4 * 3维度在矩阵中读取它。目前我正在通过以下代码读取此矩阵,假设数据存储在名为" A.txt"的文件中。

A=textread('A.txt');

但是这段代码的问题是,如果文件最后有空格,MATLAB将该输入视为零。例如,如果文件" A.txt"在数据之后有一个空格,通过这段代码,MATLAB输入如下:

1 3 5 
2 6 8
10 12 14
16 18 20 0

所以我想将矩阵作为row * col语法读取。你能帮我么 ?

1 个答案:

答案 0 :(得分:1)

一个选项可能是将空白空间捕获为NaN,并在读取文件后删除NaN:

  
    

A = textread(' A.txt','',' emptyvalue',NaN)

  

A =

 1     3     5   NaN
 2     6     8   NaN
10    12    14   NaN
16    18    20   NaN
  
    

A = A(:,任何(~isnan(A)))

  

A =

 1     3     5
 2     6     8
10    12    14
16    18    20