Effacer les filtres
Effacer les filtres

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

1 vue (au cours des 30 derniers jours)
Paul
Paul le 4 Déc 2012
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.

Réponse acceptée

Honglei Chen
Honglei Chen le 4 Déc 2012
Modifié(e) : Honglei Chen le 4 Déc 2012
Here is an example:
b = 3;
c = [2 4];
A = perms(1:4);
A(ismember(A(:,b),c),:)=[]

Plus de réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 4 Déc 2012
Modifié(e) : Azzi Abdelmalek le 4 Déc 2012
b=3;
c=[2 4]
idx=any(ismember(A(b,:),c));
if idx==1
A(b,:)=[]
end

Catégories

En savoir plus sur Multidimensional Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by