MATLAB: How to select or group sections of an array without using indexing

arrayautomategroupingindexingselection

So i have an array of elements like this:
A = [NaN; NaN; NaN; NaN; 2; 3; 6; 7; NaN; NaN; NaN; NaN; NaN; 4; 6; 8; 8; NaN; NaN; NaN; NaN]
What I need is to collect each group of numbers into new separate arrays like this:
B = [2; 3; 6; 7]
C = [4; 6; 8; 8]
How do i do that without hard-coding with the array index numbers? Thanks

Best Answer

>> A = [NaN, NaN, NaN, NaN, 2, 3, 6, 7, NaN, NaN, NaN, NaN, NaN, 4, 6, 8, 8, NaN, NaN, NaN, NaN];
>> X = diff([true,isnan(A),true]);
>> B = find(X<0);
>> E = find(X>0)-1;
>> F = @(b,e) A(b:e);
>> C = arrayfun(F,B,E,'uni',0);
>> C{1}
ans =
2 3 6 7
>> C{2}
ans =
4 6 8 8