一次一个地将一个数组中的元素添加到另一个数组中

nas*_*ash 2 matlab

如果我有一个阵列

A = [2 4 6 8]
Run Code Online (Sandbox Code Playgroud)

和另一个数组

B = [1 2 3 4 5 6 7]
Run Code Online (Sandbox Code Playgroud)

然后我想取第一个元素A,即将2每个元素添加到其中B并将结果数组保存到矩阵中C.
接下来,我想把4它添加到每个元素B并再次保存到C.
类似地,对于68元素,重复相同的过程.

如何在C不使用循环的情况下获取矩阵?

C = [(3 4 5 6 7 8 9)' (5 6 7 8 9 10 11)'  (7 8 9 10 11 12 13)'  (9 10 11 12 13 14 15)']
Run Code Online (Sandbox Code Playgroud)

Dan*_*Dan 6

只需使用bsxfun:

>> C = bsxfun(@plus, A, B.')

C =

     3     5     7     9
     4     6     8    10
     5     7     9    11
     6     8    10    12
     7     9    11    13
     8    10    12    14
     9    11    13    15
Run Code Online (Sandbox Code Playgroud)

  • @Bernhard说这些数字总是真的.`.`是我们在这里做的转置.尽管它给出了相同的结果,但从技术上讲,我们并不是在寻找复杂的共轭. (3认同)