如何从Matlab中的文本中读取矩阵

时间:2012-08-29 23:02:08

标签: matlab file-io

我前几天遇到过这个问题,我对程序员不太了解,老师要我们制作一个从txt读取方阵的程序。然后使用该信息来解决它。我一直在想如何做这个程序的第一部分,因为我已经弄清楚如何解决矩阵,但我只是不知道如何扫描文本。只是这样你们才能理解我,这就是文本的样子:

4

1 2 3 8

7 4 1 2

1 2 1 2

3 4 5 6

正如您所看到的,它必须读取第一个数字并将其存储在变量中,以便程序知道矩阵的大小,然后读取矩阵并将其存储在数组中,或者我认为。

任何帮助都会被贬低。

2 个答案:

答案 0 :(得分:0)

D = importdata('file.txt');
rows = D(1);
cols = (numel(D)-1)/rows;
D = reshape(D(2:end),[cols rows])';

(最好的MATLAB解决方案是删除开头的行数。然后importdata就足够了)

答案 1 :(得分:0)

假设file.txt

  

1 2 3 8

     

7 4 1 2

     

1 2 1 2

     

3 4 5 6

命令是

  

加载file.txt

然后你得到一个变量文件

文件的大小为 [4,4]