查看单个帖子
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 MATLAB结构中每个字段的值的子集

假设有一个名为data的结构,其中包含data1 data2,data3,data4的字段中包含许多项。但是我想创建一个变量newdata,它具有相同的字段,但是每个字段中只有前100个项目。没有人知道没有循环或蛮力方法的快速方法吗?

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

回答:

使用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]

更多&回答...
poster 当前离线   回复时引用此帖