У меня есть два массива:Как удалить элементы одного массива из другого?
A=[1 1 2 2 3 3 3];
B=[1 3];
Есть ли функция, которая может удалять элементы, которые содержатся в B
от A
?
Результат должен быть
C=[1 2 2 3 3];
Порядок не важно, но если есть более конкретные элементы, как два раза 1
в A
, то мне нужна операция, которая удаляет (от A
) только как многие из них конкретные элементы находятся в B
(в этом случае только один из 1
и один из 3
, что означает, что другие 1
и 3
должны оставаться в конечном продукте C
). Эта функция должна быть аналогична setdiff
, с той разницей, что она должна заботиться о нескольких экземплярах элементов массива. Эта аналогия может сохраняться, потому что мой B
содержит только элементы, которые находятся в A
.
Спасибо. Я должен помнить об этом. Но что 'A' внутри find должно быть' C', или вы удалите неправильные элементы. Попробуйте с помощью 'A = [1 1 2 2 3 4 4];' например, если в поиске есть 'A', вы в конечном итоге удаляете' 4' вместо '3' – Dan