说有一个名为data的结构,其中包含名为data1 data2,data3,data4的字段,其中包含许多项。但我想创建一个变量newdata,它具有相同的字段,但只有每个字段的前100个项目。有没有人知道一个快速的方法来做这个没有循环或暴力方法?
data1: [3744x1 double]
data2: [3744x1 double]
data3: [3744x1 double]
data4: [3744x1 double]
答案 0 :(得分:8)
newdata = structfun(@(x)x(1:100),data,'uniformOutput',false);
示例:
>> data = struct('a',1:10,'b',1:10);
>> newdata = structfun(@(x)x(1:3),data,'uniformOutput',false)
newdata =
a: [1 2 3]
b: [1 2 3]