У меня есть огромные сложные данные, которые обычно будут записываться и считываться на диск с диска, запись по-прежнему приемлема быстро, однако чтение заняло довольно много времени.Из-за того, что m.Data(:)
имеет форму, именно поэтому это занимает довольно много времени.Есть ли лучшая альтернатива для улучшения как дела?
complexNum=zeros(500,500,2000);
for i=1:2000
complexNum(:,:,i)=complex(rand(500,500), rand(500,500));
end
%write
fileID = fopen(complexNum.bin,'w');
fwrite(fileID, reshape([real(complexNum);imag(complexNum)],[],1), 'double');
fclose(fileID);
%read
m = memmapfile('complexNum.bin', 'Offset', 0, 'Format', {type, [500*2, 500, 2000] 'x'});
complexNum_read = complex(m.Data(:).x(1:500,:,:), m.Data(:).x(500+1:end,:,:) );
Заранее спасибо!