【问题标题】:how to read a row*col matrix from a file in MATLAB如何从 MATLAB 中的文件中读取 row*col 矩阵
【发布时间】:2014-07-10 00:36:00
【问题描述】:

我在一个文件中有以下数据。

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 语法。你能帮我么 ?

【问题讨论】:

  • 看看importdata是否适合你-A=importdata('A.txt')
  • 我想使用可以按指定行和列维度从文件中读取数据的语法。
  • 所以我听说了。您是否尝试过importdata 方法?
  • 试试load A.txt -ascii
  • 感谢迪瓦卡。它有效

标签: matlab file-io matrix


【解决方案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(:,any(~isnan(A)))

A =

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多