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

1 次查看(过去 30 天)
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.

采纳的回答

Honglei Chen
Honglei Chen 2012-12-4
编辑:Honglei Chen 2012-12-4
Here is an example:
b = 3;
c = [2 4];
A = perms(1:4);
A(ismember(A(:,b),c),:)=[]

更多回答(1 个)

Azzi Abdelmalek
Azzi Abdelmalek 2012-12-4
编辑:Azzi Abdelmalek 2012-12-4
b=3;
c=[2 4]
idx=any(ismember(A(b,:),c));
if idx==1
A(b,:)=[]
end

类别

Help CenterFile Exchange 中查找有关 Multidimensional Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by