how to delete rows from matrix
显示 更早的评论
hello i have 53*3 matrix but include rows that three column of the row are zeros i want to delete the entire row i tried this but since every delete shift the location of the other rows i had problem with the for loop so what can i do to overcome this
[c u]=size(test_ary); %dimensions
for i=1:c
for b=1:u
if(test_ary(i,1)==(o)));
test_ary(i,:)=[];
end
end
end
采纳的回答
更多回答(3 个)
Jos (10584)
2016-5-26
Using the statement "test_ary(i,:) = []" you will change the size of it, which will cause problems!
tf = all(test_ary==0,2) % true for rows with only 0's
test_ary(tf,:) = [] % remove those rows using logical indexing
Anoire BEN JDIDIA
2016-10-14
0 个投票
I have a big matrix 599794x2 i want to delete rows which contains values which repeats for exemple if A=[1,1;2,1;3,1;4,1;5,2;6,2;7,2]; i want to have A=[1,1;5,2]
2 个评论
James Tursa
2016-10-14
In the future open up a new Question for this rather than piggyback on an existing Question. But I will answer this here this time:
A = A(logical([1;diff(A(:,2))]),:);
Anoire BEN JDIDIA
2016-10-17
Hi, Thank you
类别
在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!