convert two column matrices into one column matrix

simith (view profile)

on 25 Mar 2018
Latest activity Commented on by simith

simith (view profile)

on 25 Mar 2018
Accepted Answer by Walter Roberson

Walter Roberson (view profile)

Hello I want to combine two column vector matrices into one column vector matrix like the example
A=[1;4;6;7;8]
B=[10;21;11;9]
C must be like:
C=[1;10;4;21;6;11;7;9;8]
I need a general answer because I have many and large columns. Thank you

Tags

Answer by Walter Roberson

Walter Roberson (view profile)

on 25 Mar 2018

nA = length(A);
nB = length(B);
C = zeros(nA + nB, 1);
nCommon = min(nA, nB);
C(1:2:nCommon*2-1) = A(1:nCommon);
C(2:2:nCommon*2) = B(1:nCommon);
if nA < nB
C(nCommon*2+1:end) = B(nCommon+1:end);
elseif nA > nB
C(nCommon*2+1:end) = A(nCommon+1:end);
%if the lengths were the same then everything was copied by the common processing
end

simith

simith (view profile)

on 25 Mar 2018
thank you very much..it worked proprely

Answer by Roger Stafford

Roger Stafford (view profile)

on 25 Mar 2018

In the example you gave do this:
C = zeros(9,1);
C(1:2:end) = A;
C(2:2:end) = B;
For a general answer you need to define the generality you are seeking. Give us more information. For example, if the numbers in two vectors differs by more than one element, what do you wish as a result?

simith

on 25 Mar 2018