2010-08-19 94 views
2

我的问题是缩短重复的过程。请帮我缩短我的代码

数据1 = 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',[5671822255]); 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 11385255]); Data3 = dlmread('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt','\ t',[1371 1 1626 255]); Data7 = dlmread('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt','\ t',[1639 119494255]); Data8 = dlmread('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt','\ t',[1907 11162255]); Data9 = dlmread('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt','\ t',[2175 1 2430 255]); Data30 = 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 13502 255]);

其中在获取Data1之前必须跳过前30行。 在Data1之后,Data2 - Data13必须忽略12行。每个数据包含256×255矩阵。

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

我会非常感谢所有的帮助。 谢谢。

+1

切向有关转dlmread的结果。我昨天在我的博客中介绍了这种编码技术:http://blogs.mathworks.com/videos/2010/08/18/matlabdo-the-way-of-matlab/ – MatlabDoug 2010-08-19 13:52:41

回答

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 

编辑: 如果你希望所有的数据后合并到一个大矩阵,可以使用

dataMatrix = [data{:}] 

您可能需要首先取决于你想如何连接到最终的基质

+0

谢谢第二..它工作得很好! ! – Nadhris 2010-08-20 11:27:48

+0

如果你不介意我想再要求一件事。假设你的nData的维数是[1,65280]。根据数据{n},如何将它们全部组合成1个大矩阵?例如,Data = [Data1; Data2; Data3; Data4; Data5; Data6; Data7; Data8; Data9; Data10; Data11; Data12; Data13]; – Nadhris 2010-08-20 12:58:29

+0

添加编辑回答 – second 2010-08-20 16:30:44