【发布时间】:2019-04-22 19:58:51
【问题描述】:
我有一堆 mat 文件,其中包含大量行形式的数据序列(每个文件中有 7 行 x 160000 个样本)。我需要从某些行创建一个矩阵。
我使用以下代码加载文件:
files = dir ('*.mat');
data = load (files(1).name);
for k = 2:numel(files);
data (k) = load (files(k).name);
end
所以我将 mat 文件中的所有数据整齐地组织在一个结构数组中。 然后我使用这种代码来创建一个矩阵:
A = [data(1).mydata(7,:); data(2).mydata(7,:); data(3).mydata(7,:); ...
data(4).mydata(7,:); data(5).mydata(7,:); data(6).mydata(7,:); ...
data(7).mydata(7,:); data(8).mydata(2,:); data(9).mydata(2,:); ...
data(10).mydata(2,:)]; %data matrix
但是我有更多的文件,当我想创建一个不同的矩阵时,我必须手动更改 50 - 70 个数字,这段代码变得庞大,很容易出错。
有没有其他方法可以做到这一点,比如索引我需要前 21 个字段的第 2 行和后面 21 个字段的第 7 行?
或者我是否需要从一开始就以不同的方式加载文件?
【问题讨论】: