counting and merging in array

How would I write for example a function that merges say x=(0:2:6 ,[1 ,2]) into x=[0,1,2,2,4,6] Furthermore say I wanted to count sequences in an array for example say y=[2,0,0,3,0,0,0,4] there are 5 sequences in here (2,[0,0],3,[0,0,0],4) so the answer should be 5. Thank you for the help

Answers (1)

First one is simply sorting:
x = {0:2:6, [1 2]};
sort([x{:}])
Second one is achieved by using diff to detect transitions:
y = [2 0 0 3 0 0 0 4];
seqcount = sum(diff([NaN y]) ~= 0)

Categories

Asked:

Max
on 4 Jan 2016

Answered:

on 4 Jan 2016

Community Treasure Hunt

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

Start Hunting!