How to merge two column cell arrays into one, with alternating values?

8 views (last 30 days)
A = ones(5,1);
B = zeros(5,1);
Assuming A and B will always be the same size, how can I get the result? I can't seem to find the right way of using reshape to achieve this.
C = {1 0 1 0 1 0 1 0 1 0}
Thanks in advance
  4 Comments
Stephen23
Stephen23 on 11 Aug 2021
No need for the second transpose, just specify the desired output size when reshaping:
C = reshape([A,B].',1,[])

Sign in to comment.

Answers (1)

tiwwexx
tiwwexx on 11 Aug 2021
I would create a matrix with size a+b then fill it in using steps of two.
a=zeros(1,5);
b=ones(1,5);
c= zeros(1,size(a,2)+size(b,2));
c(1:2:end)=a;
c(2:2:end)=b;

Tags

Community Treasure Hunt

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

Start Hunting!