从结构数组中删除元素

时间:2011-12-02 15:56:06

标签: matlab

这可能是一个非常简单的问题,但现在是:

我有一个< 1xn>结构数组,以及我想要删除的struct数组索引的向量。

所以例如,如果我有一个[2 6]的移除向量,这意味着我想摆脱数组中的第2和第6个结构(并且数组将缩短2个元素)。

干净,简单,matlab的做法是什么?

2 个答案:

答案 0 :(得分:4)

如果您的结构名称为a

a([2 6])=[]

或更一般地说:

ind2rm=[2 6];
a(ind2rm)= []

PS:它也适用于普通数组或矩阵(例如A(:,[2 6])=[]

答案 1 :(得分:2)

我认为这就是你所需要的:

a = a(setdiff([1:n], [2, 6]))

a是struct数组,[2,6]是你想要删除的元素。