How to eliminate the repeated number?

1 visualizzazione (ultimi 30 giorni)
tabw
tabw il 13 Ago 2014
Risposto: Geoff Hayes il 13 Ago 2014
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

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 13 Ago 2014
Modificato: Azzi Abdelmalek il 13 Ago 2014
number= 1: 10;
t=[1 3 5 7];
out=setdiff(number,t)

Più risposte (1)

Geoff Hayes
Geoff Hayes il 13 Ago 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.

Community Treasure Hunt

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

Start Hunting!

Translated by