Начиная с , начиная с версии R2011b (версия 7.13), появился новый объект matlab.io.MatFile с MATFILE как конструктор.Позволяет загружать и сохранять части переменных в MAT-файлах.Смотрите документацию для более подробной информации.Вот простой пример для чтения части матрицы:
matObj = matfile(filename);
a = matObj.a(100:500, 200:600);
Если ваш исходный файл - не файл MAT, а какой-то текстовый файл, вы можете прочитать его частично и использовать matfile
для сохранения этих частейк той же переменной в файле MAT для последующего доступа.Просто не забудьте установить для свойства Writable
значение true в конструкторе.
Если ваш текстовый файл разделен символами табуляции и содержит только цифры, здесь приведен пример сценария для чтения данных по блокам и сохранения их в файл MAT.:
blocksize = 100;
startrow = 0;
filename = 'test.mat';
matObj = matfile(filename,'Writable',true);
while true
try
a = dlmread(filename,'\t',startrow,0); %# depends on your file format
startrow = startrow + blocksize;
matObj.a(startrow+(1:blocksize),:) = a;
catch
break
end
end
У меня нет последней версии для тестирования, но надеюсь, что она будет работать.