将大文本文件导入matlab而不切割它

Import big txt file into matlab without cutting it

我有一个大小为 40000 x 40000 的文本文件,例如名为“名称”,第一行和第一列是标签,所有其他数字都是十进制数。 我需要在没有标签的情况下将其保存到matlab中的mat文件中,这意味着没有第一行和第一列。

我试过以下方法:

data = importdata('Name.txt') ;  % 

save data.mat -v7.3  

但是,我得到的数据只有 590 x 590 ,这意味着它只是文件中数据的一部分。

如何在 matlab 中将整个数据保存到 mat 文件中?

编辑

我也试过这种方法:

M = readmatrix('Name.txt');
M(:,1) = []; 

它读取了所有行数 40000,但列数一直读取到 587 !!

首先你应该找出错误发生的地方。您的数据读取正确吗? 以下解决方案在任何情况下都应该有效:

fID     = fopen('Name.txt');
headerline = fgetl(fID);
C       = textscan(fID,['%s' repmat('%f', 1, 40000)], 'Delimiter',  '\r');
dMat    = [C{2:end}];
save('Data.mat', 'dMat' , '-v7.3')

如果这不起作用,您可以随时尝试通过以下方式读取数据:

T = readtable('Name.txt')

然后查看结果 table。