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

19 visualizzazioni (ultimi 30 giorni)
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 Commenti
Stephen23
Stephen23 il 11 Ago 2021
No need for the second transpose, just specify the desired output size when reshaping:
C = reshape([A,B].',1,[])
Awais Saeed
Awais Saeed il 11 Ago 2021
You are welcome @Jerki Jokne. It’s good that you got the result.

Accedi per commentare.

Risposte (1)

tiwwexx
tiwwexx il 11 Ago 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;

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by