1

私の質問は、プロセスの繰り返しを短くすることです。

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]);

ここで、Data1を取得する前に最初の30行をスキップする必要があります。Data1の後、Data2-Data13では12行を無視する必要があります。各データには256*255の行列が含まれています。

注:dlmread('myfile.txt'、'\ t'、[R1 C1 R2 C2]);

私はあなたのすべての助けに本当に素晴らしいでしょう。ありがとうございました。

4

1 に答える 1

5

ループを使用して、(テストされていない)のようなセル配列にデータセットを収集できます。

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

編集:後ですべてのデータを1つの大きなマトリックスに結合する場合は、次を使用できます。

dataMatrix = [data{:}]

最終的なマトリックスに連結する方法によっては、最初にdlmreadの結果を転置する必要がある場合があります。

于 2010-08-19T09:36:39.607 に答える