Effacer les filtres
Effacer les filtres

How to delete specific rows in a matrix

4 vues (au cours des 30 derniers jours)
Maryam Hamrahi
Maryam Hamrahi le 18 Avr 2017
Commenté : Maryam Hamrahi le 18 Avr 2017
Hi everybody,
I have a very huge matrix, and I need to deleted rows when some of column numbers are equal to zero.
Here is a simple example.
A=[ a1 a2 a3 a4 a5 a6 a7 a8
b1 b2 b3 b4 b5 0 0 0
c1 c2 c3 c4 c5 0 0 0
d1 d2 d3 d4 d5 d6 d7 d8
.
.
.
.
.
.
.
z1 z2 z3 z4 z5 0 0 0]
how could I delete rows when the last three columns are zero?
Thank you very much.
  1 commentaire
Maryam Hamrahi
Maryam Hamrahi le 18 Avr 2017
I used this code to solve a simple example:
A= [1 2 3 4 5 0 0
1 2 4 7 8 0 0
2 3 5 4 3 5 7];
TF = A(:,6:7)==0
% remove
A(TF,:) = []
why I get this error:
Error in Untitled (line 6)
A(TF,:) = []

Connectez-vous pour commenter.

Réponse acceptée

Stephen23
Stephen23 le 18 Avr 2017
Modifié(e) : Stephen23 le 18 Avr 2017
You need to use all or any:
>> A = [1,2,3,4,5,0,0; 1,2,4,7,8,0,0; 2,3,5,4,3,5,7]
A =
1 2 3 4 5 0 0
1 2 4 7 8 0 0
2 3 5 4 3 5 7
>> B = A(any(A(:,6:7),2),:)
B =
2 3 5 4 3 5 7
  1 commentaire
Maryam Hamrahi
Maryam Hamrahi le 18 Avr 2017
Thank you Stephen Cobeldick.
It was very nice of you.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrices and 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