Is there a more efficient way to compute this other than using a loop ?

1 view (last 30 days)
Hello,
Say, vectors a and b have different sizes. I wonder if there is a simpler and more efficient way of writing the lines below.
b = [1 3 4 7 8 10 2 5 6];
a = [2 3 9];
for ii = 1:length(a)
b(b==a(ii))=[];
end
Output:
b = 1 4 7 8 10 5 6
Thanks!

Accepted Answer

Matt J
Matt J on 31 May 2021
Edited: Matt J on 31 May 2021
b=setdiff(b,a,'stable')

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!