remove the rows of matrix?

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

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2015-4-1
编辑:Azzi Abdelmalek 2015-4-1
m=[1 2;3 4;0 5;3 0;0 4;0 54;3 22]
m(~m(:,1),:)=[]

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by