多个数组合并成一个数组MATLAB,MATLAB中多个一维数组的合并

1、一维数组直接合并

题目:

数组work1[x1,x2——,xn],work2[y1,y2——,yn],如今要生成一个数组work3。

work3中的数据为[x1,x2,x3--xn,y1,y2--yn];

合并方法:

直接将两个矩阵合并:

A = [1,2,3,4];

B = [-1,-2,-3,-4];

C = zeros(1,size(B,2)+size(A,2));     %这句能够不要;

C = [A, B];

2、一维数组交叉合并:

题目:

数组work1[x1,x2——,xn],work2[y1,y2——,yn]。如今要生成一个数组work3,

work3中的数据为[x1,y1,x2,y2——,xn,yn];

合并方法一:

A = [1,2,3,4];

B = [-1,-2,-3,-4];

C = zeros(1,size(B,2)+size(A,2));

C(1:2:end) = A;

C(2:2:end) = B

C =

1    -1     2    -2     3    -3     4    -4

解法二:

A = [1,2,3,4];

B = [-1,-2,-3,-4];

C=[A' B']';

C=reshape(C, 1, length(A)+length(B));

C =

1    -1     2    -2     3    -3     4    -4

解法三:

对于解法二改进:

c=reshape([A;B],1,[]);

这里要注意,仅仅能在v7以上的版本号才干使用此法。

解法四:

A = [1,2,3,4];

B = [-1,-2,-3,-4];

C=kron(A,[1 0])+kron(B,[0 1]);

C =

1    -1     2    -2     3    -3     4    -4

非常多技巧。试总结以上的方案:

-------------------------------------

A = [1,2,3,4];

B = [-1,-2,-3,-4];

----------------- 1 -----------------

C = zeros(1,size(B,2)+size(A,2));

C(1:2:end) = A;

C(2:2:end) = B;

C=C(:);

------------------2 -----------------

C=[A' B']';

C=reshape(C, 1, length(A)+length(B));

------------------3-------------------

c=reshape([A;B],1,[])

------------------4-------------------

C=kron(A,[1 0])+kron(B,[0 1]);

--------------------------------------

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值