Folgendes gilt für MATLAB, aber ich schlage vor, dass Sie es in Octave versuchen. Zuallererst, wenn Sie können - die Matrix transponieren. Hier sind einige Beispiele mit fprintf
und csvwrite
(im Wesentlichen dlmwrite
)
A = rand(3, 1e6);
tic;
fid = fopen('data.txt', 'w+');
for i=1:size(A, 1)
fprintf(fid, '%f ', A(i,:));
fprintf(fid, '\n');
end
fclose(fid);
toc
tic;
csvwrite('data.txt', A);
toc;
Elapsed time is 1.311512 seconds.
Elapsed time is 2.487737 seconds.
Wenn nicht umgesetzt, es altert tatsächlich stattfinden wird. By default, fprintf
flushes the buffer after every call. Sie können versuchen, W
anstelle von w
zu verwenden, um die Datei zu öffnen, aber es verbessert die Situation hier nicht zu sehr.
Haben Sie versucht, die '-ascii' Option' speichern ". Das heißt, 'save -ascii output.txt variableName' – petrichor
Müssen Sie nur die Daten speichern oder müssen sie in einer Textdatei formatiert werden? @ Petrichors Idee sollte gut funktionieren. – twerdster