can you help me to correct this program i write it to remove the rows who The sum of its elements is zero
Info
This question is closed. Reopen it to edit or answer.
Show older comments
for i=1:46
h=sum(ans(i,2:13))
i=i+1;
if h==0
ans(~any(ans,2),:)=[];
end
end
Answers (1)
Paolo
on 26 Jun 2018
For matrix a
a(~sum(a,2),:) = []
6 Comments
ziad abdul
on 26 Jun 2018
ziad abdul
on 26 Jun 2018
Guillaume
on 26 Jun 2018
@Ziad, Paolo's answer is the most efficient way of removing rows whose sum is zero. It is also correct, so coming up with other ways would be a waste of time, since they would all produce the same result.
So, if it doesn't work it's because either you're not asking the right thing or you're doing something wrong. For us to know what the problem is on your end, give us an example of input and the desired result.
Image Analyst
on 26 Jun 2018
Also DON'T use ans as a variable name. This is the default variable name but it's also a temporary, scratch variable that could be overwritten at any time unexpectedly so it's not something you should depend upon.
For that matter, don't use i or j (the imaginary number) as a variable either. Use k, row, ii, index, or some other name instead.
Matt J
on 26 Jun 2018
For that matter, don't use i or j (the imaginary number) as a variable either. Use k, row, ii, index, or some other name instead.
Or, don't use i,j as the imaginary number. Use 1i or 1j instead.
This question is closed.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!