from Merge two sorted vectors into a sorted vector by Dr. Murtaza Khan
Merge two sorted vectors 'a' and 'b' into a sorted vector 'c'

c=mergesorted(a,b)
% % merge two sorted vectors 'a' and 'b' into a sorted vector 'c'
% % 'a' and 'b' can be column or row vectors, 'c' is column vector. 

function c=mergesorted(a,b)

lena = length(a);
lenb = length(b);
c=zeros(1,lena+lenb);

inda = 1;      % index to move along vector 'a'
indb = 1;      % index to move along vector 'b'
indc = 1;      % index to move along vector 'c'
while ((inda <= lena) && (indb <= lenb))
 if a(inda) < b(indb)
    c(indc) = a(inda);
    inda = inda + 1;
 else
    c(indc) = b(indb);
    indb = indb + 1;
 end
 indc = indc + 1;
end

% copy any remaining elements of the 'a' into 'c'
while (inda <= lena)
  c(indc) = a(inda);
  indc = indc + 1;
  inda = inda + 1;
end
% copy any remaining elements of the 'b' into 'c'
while (indb <= lenb)
  c(indc) = b(indb);
  indc = indc + 1;
  indb = indb + 1;
end

% % % --------------------------------
% % % Author: Dr. Murtaza Khan
% % % Email : drkhanmurtaza@gmail.com
% % % --------------------------------

Contact us at files@mathworks.com