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

1 次查看(过去 30 天)
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!

回答(1 个)

Andrei Bobrov
Andrei Bobrov 2015-6-2
编辑:Andrei Bobrov 2015-6-2
SP_Marker_C(~cellfun('ischar',SP_Marker_C)) = {[]};
or
SP_Marker_C(cellfun(@(x)x == 0,SP_Marker_C)) = {[]};
  1 个评论
Chameleon17
Chameleon17 2015-6-2
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?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by