Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Problem 1999. Bleed non-zeros to the right using REGEXP, and that sort of cheatcodess...

Created by J-G van der Toorn

This one is quite similar to http://www.mathworks.nl/matlabcentral/cody/problems/1998-bleed-non-zeros-to-the-right.

But this time you are allowed to use regexp, regexprep, and regexpi. In fact, you are encouraged to do so, since I expect creative solutions, using dynamic regular expressions ( http://www.mathworks.nl/help/matlab/matlab_prog/dynamic-regular-expressions.html ).

You get a vector, some values and a lot of zeroes. Every zero is replaced by the first non-zero element to its left.

For example, [1 0 0 2 0] becomes [1 1 1 2 2] and [0 0 -12 13 0 i 0 -i 76.54321 0 0] becomes [0 0 -12 13 13 i i -i 76.54321 76.54321 76.54321].

Is it even easier now, or not? Still, eval and friends are forbidden.

Problem Group

Solution Statistics

8 correct solutions 3 incorrect solutions
Last solution submitted on Dec 20, 2013