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

12 次查看(过去 30 天)
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 个评论
Stephen23
Stephen23 2021-8-11
No need for the second transpose, just specify the desired output size when reshaping:
C = reshape([A,B].',1,[])

请先登录,再进行评论。

回答(1 个)

tiwwexx
tiwwexx 2021-8-11
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;

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by