如何在matlab中向矩阵添加矢量?

Day*_*mer 2 matlab

如何在Matlab中向矩阵中添加一个向量,方式是将i的向量索引添加到i行的所有成员中?

例如:

A = [1 2 3;
     4 5 6;
     6 7 8]
v = [1;
     2;
     3]
Run Code Online (Sandbox Code Playgroud)

要求的结果是:

[2 3 4;
 6 7 8;
 9 10 11]
Run Code Online (Sandbox Code Playgroud)

非常感谢.

Oli*_*Oli 8

你可以使用bsxfun:

B=bsxfun(@plus,A,v);
Run Code Online (Sandbox Code Playgroud)


Jun*_*uxx 5

另一种方法bsxfun是使用repmat和重复列向量的v次数与列数一样多A:

A = [1 2 3; 4 5 6; 6 7 8];
v = [1; 2; 3]

A = A + repmat(v,1,3);
Run Code Online (Sandbox Code Playgroud)