How to remove zero values from vector?

5 views (last 30 days)
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)]

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!