from Array merger by Maurits Boeije
This will merge two arrays into one array of cells.

combine(lijst1,lijst2)
function lijst = combine(lijst1,lijst2)

[lengte1 breedte1]=size(lijst1);
[lengte2 breedte2]=size(lijst2);

k=breedte1;
l=k;
while k>0
    [lengte1 breedte1]=size(lijst1);
    [lengte2 breedte2]=size(lijst2);
    
    % lijsten even lang maken / groeperen    
    if lengte2<lengte1
        for i=1:lengte2
            [a b]=size(lijst2{i,2});
            c(i)=a; % c is lijst met increments
        end
        
        d=0;  
        for i=1:lengte2
            d=c(i)+d;
            for j=1:breedte1
                lijsttemp{i,j}=lijst1{d,j};
            end
        end
        clear lijst1
        clear c
        lijst1=lijsttemp;
    end
    
    %combineren
    o=0;
    n=1;
    for i=1:lengte2;
        if i==1
            %1e cell vullen
            for j=1:breedte2;
                cell{n,j}=lijst2{i,j};
            end
            %laatste cell dumpen
        elseif i==lengte2
            o=o+1;
            lijst{o,1}=lijst1{i-1,k};
            lijst{o,2}=cell;
            clear cell
            %cell opvullen
        elseif strcmp(lijst1{i,k},lijst1{i-1,k})==1
            n=n+1;
            for j=1:breedte2;
                cell{n,j}=lijst2{i,j};
            end
            %cell dumpen
        elseif strcmp(lijst1{i,k},lijst1{i-1,k})==0
            o=o+1;
            lijst{o,1}=lijst1{i-1,k};
            lijst{o,2}=cell;
            n=1;
            clear cell
            for j=1:breedte2;
                cell{n,j}=lijst2{i,j};
            end
        end
    end
    lijst2=lijst;
    clear lijst
    k=k-1;
    l=l+1;
    
end
lijst=lijst2;

Contact us at files@mathworks.com