Arrays 将一个数组按行添加到另一个数组

Arrays 将一个数组按行添加到另一个数组,arrays,matlab,matrix,addition,Arrays,Matlab,Matrix,Addition,我有一个1x64大小的阵列A和另一个64x1806大小的阵列B。我想将A添加到B中,使A的第一个元素添加到B的第一行,依此类推,将64个元素添加到B的第64行。如何在matlab中实现这一点 A= (4 5 6 7) B= (3 4 5; 4 5 6; 4 5 6; 3 4 5 ) c=(4+3) (4+4) (4+5); (5+4) (5+5) (5+6); (6+4) (6+5) (6+6);... 如果我理解正确,您可能希望首先使用repmat为每列“

我有一个1x64大小的阵列A和另一个64x1806大小的阵列B。我想将A添加到B中,使A的第一个元素添加到B的第一行,依此类推,将64个元素添加到B的第64行。如何在matlab中实现这一点

A= (4 5 6 7) 
B=  (3 4 5;
    4 5 6;
    4 5 6;
    3 4 5 )
c=(4+3) (4+4) (4+5);
  (5+4) (5+5) (5+6);
  (6+4) (6+5) (6+6);...

如果我理解正确,您可能希望首先使用repmat为每列“重复”A,当其大小与B相同时,只需将B添加到其中:

C = repmat(A', 1, size(B, 2)) + B

如果我理解正确,您可能希望首先使用repmat为每列“重复”A,当其大小与B相同时,只需将B添加到其中:

C = repmat(A', 1, size(B, 2)) + B
用于通过单例扩展添加
A
转置和
B
元素:

A = [4 5 6 7]
B = [3 4 5; 4 5 6; 4 5 6; 3 4 5];
C = bsxfun(@plus, A.', B);
或者,在Matlab R2016b中,您可以直接使用
+
,这得益于:

用于通过单例扩展添加
A
转置和
B
元素:

A = [4 5 6 7]
B = [3 4 5; 4 5 6; 4 5 6; 3 4 5];
C = bsxfun(@plus, A.', B);
或者,在Matlab R2016b中,您可以直接使用
+
,这得益于:


如果我有3个矩阵的话,那么我有3个矩阵的<代码>A A=[1;2;2;2;2;2;3;7 7 7 7 7 7;8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 7 7 7 7 7 7 7 7;5 4 4 4 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0[C C C C)C C=[3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6;9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 6 6 6 6 6 6 6;9 9 9 9 7 7 7 7 7 7 7 7(六)(2+7+9)(2+7+8)(2+7+7)(2+7+6);(3+8+5)(3+8+4)(3+8+2)(3+8+1)(3+9+5)(3+9+4)(3+9+2)(3+9+1)(3+0+5)(3+0+4)(3+0+2)(3+0+1)]那么这个方法如何扩展呢?如果我有3个矩阵(1+2+2+4)(1+5+5+8)(2+5+5)(2+5+5)(2+5+5)(2+5+5)(2+5+5+6)(2+5+5+6)(1+3+3+3+4)(1+3+4+5)(1+3+3+4+6)(1+4+4+4+4+4+4+4)(1+4+4+4+4+4+4+6)(2+5+5+5+5+8)(2+5+5+5+8)(2+5+5+8)(2+5+5+5+6)(2+5+5+6)(2+5+6)(2+5+5+5+6)(2+5+5+6)(2+5+6)(2+5+6+6+6)(2+5+5+6)(2+5+6)(2+5+6+6)(2+6)(2+5+6)(2+6)(1)(3+9+5)(3+9+4)(3+9+2)(3+9+1)(3+0+5)(3+0+4)(3+0+2)(3+0+1)]那么该方法如何扩展?