eliminate zero elements and separate into different matrix

10 views (last 30 days)
if i have a matrix like [0 0 0 0 1 2 3 0 0 3 2 0 0 0 3 4 4 5 0],how can I get three matrix [1 2 3];[3 2] and [3 4 4 5].

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 17 Jul 2016
A=[0 0 0 0 1 2 3 0 0 3 2 0 0 0 3 4 4 5 0]
idx=A~=0
ii1=strfind([0 idx],[0 1])
ii2=strfind([idx 0],[1 0])
out=arrayfun(@(x,y) A(x:y),ii1,ii2,'un',0)
celldisp(out)
  3 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 17 Jul 2016
You can do it with any array supported by Matlab, but your figure doesn't show a matrix!

Sign in to comment.

More Answers (0)

Categories

Find more on Resizing and Reshaping 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!