2011-01-28 72 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

相關問題