Clear Filters
Clear Filters

How to remove zero values from vector?

2 views (last 30 days)
KH
KH on 14 Jun 2013
Edited: belairaway on 9 May 2017
Hi,
Let's say I have vector something like:
q = [0 0 0 2 4 10 9 5 0 0 0 8 9]
I want it to be something like:
q = {0 0 0 2 4 10 9 5 8 9]
How can I choose to remove the zero values but without removing the first three zeroes?
Thank you.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 14 Jun 2013
q = [0 0 0 2 4 10 9 5 0 0 0 8 9];
out = [q(1:find(q~=0,1,'first')-1) q(q~=0)];

More Answers (2)

belairaway
belairaway on 9 May 2017
Edited: belairaway on 9 May 2017
I think that using the built-in function nonzeros is better

Azzi Abdelmalek
Azzi Abdelmalek on 14 Jun 2013
Edited: Azzi Abdelmalek on 14 Jun 2013
q = [0 0 0 2 4 10 9 5 0 0 0 8 9];
out=[q(1:find(q~=0,1)) q(q~=0)]

Community Treasure Hunt

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

Start Hunting!