在Matlab中导入包含21位整数的.txt文件

时间:2017-02-15 14:10:06

标签: matlab

我有一个.txt文件(名为B.txt),由一个整数列表(每个21位数字)组成,分为两列,如下所示(实际上该文件包含更多行):

116374117927631468606 101765416973555767821
112188647432305746617 107727150903234299458
116719211656774388392 100432456209427807893
117421021456205115327 101096322838605097368

我想在Matlab中导入这个文件,格式允许我计算第二列中每个整数重复的次数。

我现在正在做的是

A=importdata('B.txt'); 
A_2=A(:,2);
a = unique(A_2);
out = [a,histc(A_2(:),a)];

问题:有没有更好的方法来执行此任务?例如,有没有办法从1开始“重新标记”所有内容?

特别是,我想知道是否通过将这些巨大的整数作为数字导入而失去了精确度。

1 个答案:

答案 0 :(得分:2)

是的,你精确度不高。试试112188647432305746617==112188647432305746616

我建议您将数据导入为文本而不是数字,并使用VPA。使用相同的例子:

a=vpa('112188647432305746617');
b=vpa('112188647432305746616');
a==b