Как вернуть элементы массива, которые не определены в индексном массиве? - PullRequest
0 голосов
/ 29 июня 2018

Например, у меня есть следующий массив в MATLAB:

a = 11:20 ;

и я хочу извлечь элементы из a, которые не определены среди элементов индекса ниже:

b = [2,3,5];

Если я выполню следующую строку get:

a(b)

ans =

    12    13    15

Я ищу метод, который прямо противоположен приведенному выше и не вводит цикл для получения элементов из a, а индекс этих элементов отсутствует в массиве индексов b.

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

Альтернативный подход:

>> a = 11:20;
>> b = [2,3,5];
>> c = a;
>> c(b) = []
c =
   11   14   16   17   18   19   20

c(b)=[] удаляет из c элементы, проиндексированные b.

0 голосов
/ 29 июня 2018

setdiff - это функция, которую вы ищете.

a(setdiff(1:end,b))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...