如何在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)無論如何(這將比增大矩陣快) –