2011-01-28 61 views
3

价值的说有一个结构域称为数据1数据2,数据3,数据4是在他们的许多项目被称为数据。但我想箱子一个变量newdata具有相同的字段,但只有在它的第100个项目每个字段的。没有人知道一个快速的方法来做到这一点没有环或蛮力方法?子集中的每个字段的一个MATLAB结构

      data1: [3744x1 double] 
          data2: [3744x1 double] 
          data3: [3744x1 double] 
          data4: [3744x1 double] 

回答

8

使用STRUCTFUN

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] 
+0

由于这是完美的! – user295944 2011-01-28 01:16:29

相关问题