How to eliminate the repeated number?

1 view (last 30 days)
For example,
number= 1: 10;
t=[1 3 5 7];
What I want to keep is [2 4 6 7 10];
how to do that?
assuming t and number have different dimensions.
In short, I want number array to have no same digits of t.
Thanks

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 13 Aug 2014
Edited: Azzi Abdelmalek on 13 Aug 2014
number= 1: 10;
t=[1 3 5 7];
out=setdiff(number,t)

More Answers (1)

Geoff Hayes
Geoff Hayes on 13 Aug 2014
tabw - consider using intersect. It will allow you to determine which values of t are in number, and then you can remove those common to both from number. Try the following
x = 1:10;
t = [1 3 5 7];
[common,indcsT,indcsX] = intersect(t,x)
% common is a vector of all values that are common to both t and x
% indcsT is a vector of indices into t of all common values
% indcsX is a vector of indices into x of all common values
% now remove the common elements from x
x(indcsX) = [];
The update x becomes
x =
2 4 6 8 9 10
It is slightly different from your example, but follows your instructions on wanting the first array to have no same digits as t.

Categories

Find more on Multidimensional Arrays 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!