2014-02-09 6 views

ответ

4

То, что вы хотите, называется установить разницу в большинстве языков. В MATLAB вы можете использовать функцию setdiff:

a=1:20; 
>> b=[2,7,12,18]; 
>> setdiff(a,b); 

ans = 

Columns 1 through 11 

1  3  4  5  6  8  9 10 11 13 14 

Columns 12 through 16 

15 16 17 19 20 
+0

функция полезна для сложных случаев, thx примет к сведению для будущего использования. –

+0

дополняющие и заданные различия являются синонимами. (по крайней мере, применяется к наборам) – Daniel

+0

@ Daniel: Действительно. Тем не менее, полезно упомянуть, что большинство языков программирования называют это * разностью *, чтобы избежать путаницы. –

4

Вы можете удалить элементы массива с помощью x(3)=[]

c=a; 
c(b)=[]; 
+1

работает для этого простого случая. Но для общего случая (где 'b' содержит элементы, которые должны быть удалены из' a' вместо индексов), используйте 'setdiff', как в другом ответе. –

 Смежные вопросы

  • Нет связанных вопросов^_^