从.text文件中读取列向量在matlab中

时间:2014-10-26 17:59:29

标签: matlab file-io scanf textscan

我正在尝试从文本文件中读取以下数字序列:

1323211
11
1163211
11
1512321112
14096321
2
1256321221024642
1
1
1256321221024642
10296844
4102782
3609910
0
492872
492840
61116
0
01201
01201
00149
00000
1989016
1982261
436984
6755
6739
6734
0
00034
00034
00034
00000

为此,我使用此处列出的方法:http://www.mathworks.se/help/matlab/ref/fscanf.html#bt_j35z-2_1

我可以使用type命令验证文件的内容,但由于某种原因读数出错,给出了这个输出:

>> fid = fopen('file.txt', 'r')

fid =

     5

>> A = fscanf(fid, '%f')

A =

   1.0e+15 *

    0.0000
    0.0000
    0.0000
    0.0000
    0.0000
    0.0000
    0.0000
    1.2563
    0.0000
    0.0000
    1.2563
    0.0000
    0.0000
    0.0000
         0
    0.0000
    0.0000
    0.0000
         0
    0.0000
    0.0000
    0.0000
         0
    0.0000
    0.0000
    0.0000
    0.0000
    0.0000
    0.0000
         0
    0.0000
    0.0000
    0.0000
         0

我在示例中使用%f,但%d返回一个空向量。 csvreaddlmreadtextscan都会产生相同的结果。是什么原因造成的?

1 个答案:

答案 0 :(得分:1)

输出正确,但格式并不能告诉您要查看的内容。 现在你可能正在使用格式短。 您只需使用以下命令查看整个数字:

format long

您可以做的另一件事是点击" A"在“工作区”窗口中查看表中的矩阵。 请记得检查选项卡视图,然后选择"数字显示格式"你想用。