我正在使用 matlab 分析大型数据集。我希望能够在这个矩阵上按照 fprintf 命令的行运行一些东西,它有大约 22000 列。所以,这是我到目前为止的想法:
j=22;
for i = 1:j;
fname = fopen(strcat('chr', num2str(i), '.out'), 'r');
A = fscanf(fname, '%d', [1000,inf]);
FIDW = fopen(strcat('chrproc', num2str(i), '.out'), 'w+');
fprintf(FIDW, '%d\t%d\t%d\t%d\t%d\t%d\t\n', B);
end
有 22 个这种大小的文件将通过第 1-4 行转换为矩阵。但是,棘手的部分(至少对我而言)是 fprintf 要求您提供格式。因为这些文件太大,所以没有真正的方法可以输入 %d\t。
也许 fgetl 命令更好?但是 fgetl 不会打印到文件,更重要的是,fgetl 返回一个字符串,这对我来说效果不佳。真的,像 fscanf 命令之类的东西会很棒,除了读取而不是打印......
非常感谢您的帮助和建议。