我正在使用matlab分析大型數據集。我希望能夠在該矩陣的fprintf命令行上運行一些東西,該列有大約22000列。所以,這是我到目前爲止的想法:在Matlab中,如何在任意大的矩陣上執行fprintf命令
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要求你提供FORMAT。由於這些文件太大,因此沒有真正的方法可以輸入%d \ t。
也許fgetl命令更好?但fgetl不會打印到文件中,更重要的是,fgetl會返回一個字符串,這對我來說效果不佳。真的,像fscanf命令會很好,除了讀取而不是打印...
非常感謝您的幫助和建議。
你想打印矩陣的數據由製表符和換行符分隔嗎? –
如果這只是一個設計,我會把它放在一個循環中。它需要快速嗎? – PeterM