delete rows in Matrix 'A' with same values 'c' in column 'b'
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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.
0 Kommentare
Akzeptierte Antwort
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),:)=[]
0 Kommentare
Weitere Antworten (1)
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
0 Kommentare
Siehe auch
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!