remove the rows of matrix?

1 Ansicht (letzte 30 Tage)
jack nn
jack nn am 1 Apr. 2015
Kommentiert: jack nn am 1 Apr. 2015
I want to remove the rows of matrix that the value of them in first column is zero...I use this code:
if true
for i=1:7
if m(i)==0
m(i,:)=[];
i=i-1;
end
end
end
I run this code for this matrix but the answer is not true,it could not remove all rows that the first column of them is zero..
if true
>> m=[1 2;3 4;0 5;3 0;0 4;0 54;3 22]
m =
1 2
3 4
0 5
3 0
0 4
0 54
3 22
if true
>> for i=1:7
if m(i)==0
m(i,:)=[];
i=i-1;
end
end
end
but when we saw the result,the result is: >> m
m =
1 2
3 4
3 0
0 54
3 22
end
is my cod wrong?

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 1 Apr. 2015
Bearbeitet: Azzi Abdelmalek am 1 Apr. 2015
m=[1 2;3 4;0 5;3 0;0 4;0 54;3 22]
m(~m(:,1),:)=[]

Weitere Antworten (0)

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by