如何在Matlab中将矢量添加到矩阵中,方法是将矢量的i索引添加到i行的所有成员中?如何在matlab中将矢量添加到矩阵中?
例如:
A = [1 2 3;
4 5 6;
6 7 8]
v = [1;
2;
3]
所需的结果是:
[2 3 4;
6 7 8;
9 10 11]
感谢。
如何在Matlab中将矢量添加到矩阵中,方法是将矢量的i索引添加到i行的所有成员中?如何在matlab中将矢量添加到矩阵中?
例如:
A = [1 2 3;
4 5 6;
6 7 8]
v = [1;
2;
3]
所需的结果是:
[2 3 4;
6 7 8;
9 10 11]
感谢。
到bsxfun
另一种方法是使用repmat
和重复列向量v
多次A
有列:
A = [1 2 3; 4 5 6; 6 7 8];
v = [1; 2; 3]
A = A + repmat(v,1,3);
您可以使用bsxfun:
B=bsxfun(@plus,A,v);
只是为了好玩:
A + v(:,[1 1 1]);
老实说,这是我最喜欢的答案。我是一个MATLAB/Octave初学者,使用这个(或使用ones()的版本)让我的生活变得更加简单。谢谢。 – Chuck
你的意思是dd一个矢量到矩阵的特定行? – mathematician1975
您的意思是:1)添加一个nx1数组到一个nxm矩阵的末尾,放大矩阵2)将这样一个数组插入矩阵的中间,放大矩阵3)覆盖该数组,保持相同的矩阵大小4 )你是否可以预先分配一个零矩阵,从而3)无论如何(这将比增大矩阵快) –