deleting number

i have values such as A=[12 20 1 5 69 70 21 50 46 52 87 83 11 21]
B=[ 70 50 12 83]
now i want to delete B values from A ,so i will have output as
C=[20 1 5 69 21 46 52 87 11 21 ]

 採用された回答

Andrei Bobrov
Andrei Bobrov 2012 年 2 月 28 日

0 投票

[C1,ic] = setdiff(A,B)
[i1,i1] = sort(ic)
C = C1(i1)
OR
C = A(~ismember(A,B))

その他の回答 (1 件)

Wayne King
Wayne King 2012 年 2 月 28 日

0 投票

Hi, You can use intersect to get the indices of A that intersect with elements of B and then delete those.
[C,IA,IB] = intersect(A,B);
A(IA) = [];

3 件のコメント

kash
kash 2012 年 2 月 28 日
wayne thanks a lot ,without using any in built command is it possible,using loops
Oleg Komarov
Oleg Komarov 2012 年 2 月 28 日
Sounds like a homework.
Jan
Jan 2012 年 2 月 28 日
No, kask, it is impossible to do this "without built-in command", because all you can write in Matlab requires built-in commands. If your teacher told you to do this, ask him for thinking twice.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeAudio I/O and Waveform Generation についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by