How to add each column of matrix A with another matrix B?
2 次查看(过去 30 天)
显示 更早的评论
Suppose
is a
column vector and
is a
matrix, then
, a
matrix.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/583481/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/583486/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/583491/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/583496/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/583501/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/583506/image.png)
Now, I have matrix
, each
is a
column vector. I would like to add each column in A, starting from the first column
, with matrix B and store the result matrix C. The resulting matrix C now has dimension
and looks like this
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/583511/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/583516/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/583521/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/583526/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/583531/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/583536/image.png)
How should I do it in Matlab?
Thanks !
0 个评论
采纳的回答
the cyclist
2021-4-14
I think this does what you want:
% Input data
A = [1 20;
3 40];
B = [5 6 7;
8 9 10];
% Algorithm:
% (1) Permute A, transforming it from MxN matrix to Mx1xN.
% (2) Add it to B, using implicit expansion so that all columns are added.
% (3) Reshape so that slices in 3rd dimension are now side-by-side instead.
C = reshape(permute(A,[1 3 2]) + B, size(B,1),[])
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Operating on Diagonal Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!