Извлечение блоков данных из огромного файла в Matlab - PullRequest
0 голосов
/ 11 марта 2011

Существует огромный файл mask.txt, содержащий числа с плавающей запятой, скомпонованные в формате столбца (один столбец из примерно 2 миллионов чисел). Я хочу извлечь данные в блоках 512 * 512. Как мне получить следующий блок данных. Я сделал следующее, но это ошибочно.

rawData=dlmread('mask.txt');
a1=reshape(rawData(1:262144),512,512);


a2=reshape(rawData(262145:524289),512,512);

Что делать? Пожалуйста, решите проблему. Благодарю вас

1 Ответ

2 голосов
/ 11 марта 2011

Ваш метод верен, просто ваши цифры неверны.Вы сделали классическую ошибку, не посчитав первый номер.Вектор должен быть из [n: n + 512 ^ 2-1], а не [n: n + 512 ^ 2], как вы сделали.Чтобы это исправить, просто сделайте

a2=reshape(rawData(262145:524288),512,512);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...