У меня есть большой (4 ГБ+) файл данных, к которому я хочу получить доступ. Он содержит выборки i ряда различных сигналов {a, b, c} следующим образом:
a_1 b_1 c_1 a_2 b_2 c_2 .... a_n b_n c_n
Я хотел бы использовать memmapfile для извлечения, скажем, потока a. Поскольку я знаю количество сигналов и количество выборок, я попробовал:
m = memmapfile('data.dat','Format',{'int16',[nSignals 1],'sid'},'repeat',nSamples);
но это возвращает бесполезное поле m
Data: nSamples x 1 struct array with fields:
sid
Конечно, следующее работает нормально, но очень медленно:
m = memmapfile('data.dat','Format','int16');
a = m.Data(1:nSignals:end);
Как восстановить a без доступа к полной матрице данных?