Azzera filtri
Azzera filtri

delete rows in Matrix 'A' with same values 'c' in column 'b'

1 visualizzazione (ultimi 30 giorni)
There is a Matrix of variating size, in this case for example 10x4:
A =
|12 1 1 4|
|16 2 1 6|
|8 3 2 6|
|15 4 2 1|
|17 5 2 2|
|1 6 2 3|
|14 7 3 4|
|13 8 3 7|
|12 9 4 6|
|11 10 5 7|
Now I have a look on the 3rd row (because of b=3). The given vector c=[2,4] now says to me which rows to delete in 'A'. If there is a '2' or a '4' in line b=3, then delete this row like this:
A =
|12 1 1 4|
|16 2 1 6|
|14 7 3 4|
|13 8 3 7|
|11 10 5 7|
It must be quite easy, I guess.

Risposta accettata

Honglei Chen
Honglei Chen il 4 Dic 2012
Modificato: Honglei Chen il 4 Dic 2012
Here is an example:
b = 3;
c = [2 4];
A = perms(1:4);
A(ismember(A(:,b),c),:)=[]

Più risposte (1)

Azzi Abdelmalek
Azzi Abdelmalek il 4 Dic 2012
Modificato: Azzi Abdelmalek il 4 Dic 2012
b=3;
c=[2 4]
idx=any(ismember(A(b,:),c));
if idx==1
A(b,:)=[]
end

Categorie

Scopri di più su Multidimensional Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by