Filter löschen
Filter löschen

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

1 Ansicht (letzte 30 Tage)
Paul
Paul am 4 Dez. 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.

Akzeptierte Antwort

Honglei Chen
Honglei Chen am 4 Dez. 2012
Bearbeitet: Honglei Chen am 4 Dez. 2012
Here is an example:
b = 3;
c = [2 4];
A = perms(1:4);
A(ismember(A(:,b),c),:)=[]

Weitere Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 4 Dez. 2012
Bearbeitet: Azzi Abdelmalek am 4 Dez. 2012
b=3;
c=[2 4]
idx=any(ismember(A(b,:),c));
if idx==1
A(b,:)=[]
end

Kategorien

Mehr zu Multidimensional Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by