在Matlab中存储单元格数组中的整数

时间:2011-11-20 23:12:40

标签: arrays matlab text

在m文件中使用单元格数组时出现问题。我使用here中给出的函数创建了许多单元格数组。我在每个数组上存储的是从文本文件中读取的数值(在将它们放入数组之前,我将它们转换为字符串)。问题是数组中的某些数字似乎没有被正确地加入:

文本文件包含:

1976787196
8
1976945848
8
1977105448
8

以上存储的单元阵列的内容如下:

  Columns 1 through 3

                1976787196           681405151445000                1976945848

  Columns 4 through 6

           685476780441608                1977105448           685476780441608

正如你所看到的,我得到的是一个非常大的整数,而不是str 8

实际上,我希望我创建的单元格数组的所有内容都只包含32位整数。我可以以某种方式指定该要求吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

这取决于您如何从文本文件中读取数据。尝试使用TEXTSCAN功能。格式字符串'%u32'指定您要读取无符号的32位整数数据。

filename = 'test.txt';
fid = fopen(filename,'r');
x = textscan(fid,'%u32','delimiter','\t','CollectOutput',1);
x = x{1};
fclose(fid);