【问题标题】:Please help me shorten my code请帮我缩短我的代码
【发布时间】:2010-08-19 06:07:00
【问题描述】:

我的问题是缩短重复过程。

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

如果您能提供所有帮助,我将不胜感激。 谢谢。

【问题讨论】:

标签: matlab loops matrix command-line-arguments repeat


【解决方案1】:

您可以使用循环并在元胞数组中收集数据集,例如(未测试)

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{:}]

您可能需要先转置 dlmread 的结果,具体取决于您希望如何连接到最终矩阵中

【讨论】:

  • 如果你不介意我想再问一件事。假设您的 nData 的维度为 [1,65280]。就数据{n}而言,如何将它们全部组合成一个大矩阵?例如,数据 =[Data1;Data2;Data3;Data4;Data5;Data6;Data7;Data8;Data9;Data10;Data11;Data12;Data13];
  • 如果要求所有数据的平均值怎么办:比如Avg_data = (Data1+Data2+Data3+Data4+Data5+Data6+Data7+Data8+Data9+Data10+Data11+Data12 +Data13)/13 再次感谢..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-11
  • 1970-01-01
  • 1970-01-01
  • 2020-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多