2011-12-02 117 views
2

这可能是一个超级简单的问题,但在这里它是:从结构数组删除元素

我有结构的< 1XN>阵列,而我想的结构数组的索引的矢量去掉。例如,如果我有[2 6]的移除向量,这意味着我想摆脱数组中的第2和第6个结构(并且该数组将会缩短2个元素)。

这是干净,简单,matlab方式做到这一点?

回答

4

如果你的结构的名称是a

a([2 6])=[] 

或者更一般地说:

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

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

+0

这是绝对是matlab方式,不是我的解决方案。 – curial

2

我觉得这是你所需要的:

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

一个是结构阵列和[2,6]是要删除的元素。