How do you maintain value order when removing zeros from a matrix?

2 views (last 30 days)
Hi,
I am trying to remove zeros from my matrix, so I have one column of dates, but they need to be maintained in the right order.
First_SP = SP_Marker_C(cellfun(@(x) ~isequal(x, 0), SP_Marker_C));
This removes my zeros, it reorders all the dates though, is it possible to remove the zeros but keep them in the original order?
Thanks for any help/advice/direction!

Answers (1)

Andrei Bobrov
Andrei Bobrov on 2 Jun 2015
Edited: Andrei Bobrov on 2 Jun 2015
SP_Marker_C(~cellfun('ischar',SP_Marker_C)) = {[]};
or
SP_Marker_C(cellfun(@(x)x == 0,SP_Marker_C)) = {[]};
  1 Comment
Chameleon17
Chameleon17 on 2 Jun 2015
It instructs me to set my uniform output to false for this to work as it's not scalar in uniform output. If you do that, does that hamper future actions where you want a uniform output?

Sign in to comment.

Categories

Find more on Shifting and Sorting Matrices 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!