удаление элементов из массива структуры - PullRequest
2 голосов
/ 02 декабря 2011

Вероятно, это очень простой вопрос, но вот он:

У меня есть массив структур <1xn> и вектор индексов массива структуры, который я хочу удалить.

Так, например, если у меня есть вектор удаления [2 6], это означает, что я хочу избавиться от 2-й и 6-й структуры в массиве (и массив будет на 2 элемента короче).

Что такое чистый, простой способ matlab?

Ответы [ 2 ]

4 голосов
/ 02 декабря 2011

Если название вашей структуры a:

a([2 6])=[]

или, в более общем случае:

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

PS: он также работает для обычных массивов или матриц (например, A(:,[2 6])=[])

2 голосов
/ 02 декабря 2011

Я думаю, это то, что вам нужно:

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

a - это массив struct, а [2, 6] - элементы, которые вы хотите удалить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...