Пожалуйста, помогите мне сократить мой код - PullRequest
1 голос
/ 19 августа 2010

Мой вопрос заключается в том, чтобы сократить повторение процесса.

Data1 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [31 1 286 255]);

Data2 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [299 1 554 255]);

Data3 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [567 1 822 255]);

Data4 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [835 1 1090 255]);

Data5 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [1103 1 1358 255]);

Data6 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [1371 1 1626 255]);

Data7 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [1639 1 1894 255]);

Data8 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [1907 1 2162 255]);

Data9 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [2175 1 2430 255]);

Data10 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [2443 1 2698 255]);

Data11 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [2711 1 2966 255]);

Data12 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [2979 1 3234 255]);

Data13 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [3247 1 3502 255]);

где первые 30 строк должны быть пропущены до получения данных1. После Data1 12 строк должны быть проигнорированы для Data2 - Data13. Каждые данные содержат матрицу 256 * 255.

Примечание: dlmread ('myfile.txt', '\ t', [R1 C1 R2 C2]);

Я был бы очень признателен за вашу помощь. Спасибо.

1 Ответ

5 голосов
/ 19 августа 2010

вы можете использовать цикл и собирать свои наборы данных в массив ячеек, что-то вроде (не проверено)

nData = 13;

data = cell(nData,1);

for n = 1:nData
    startPos = 31+(n-1)*268;
    endPos = 286 + (n-1)*268;

    data{n} = dlmread('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt','\t', [startPos 1 endPos 255]);
end

edit: если вы хотите объединить все данные в одну большую матрицу впоследствии, вы можетеиспользуйте

dataMatrix = [data{:}]

вам может понадобиться сначала транспонировать результат dlmread в зависимости от того, как вы хотите объединить в окончательную матрицу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...