How to add two matrices with two different dimension?
1 次查看(过去 30 天)
显示 更早的评论
There are two matrices, A and B.
A is 1000*1000 dimension.
B is 1000*1 dimension.
Each value of A is must be add to one column of B.
For example:
A(4*1)=
1
2
3
4
B(4*4)=
10 , 20, 30,40
30,40,50,60
50 ,60,70,80
70 ,80,90,100
I want matrix C such as:
C=
10+1, 20+2, 30+3,40+4
30+1,40+2,50+3,60+4
50+1 ,60+2,70+3,80+4
70 +1,80+2,90+3,100+4
I want to use for loop because I have 1000 data, I tried it does not give me correct answers.
Thank you
0 个评论
回答(1 个)
Walter Roberson
2016-2-1
You can use repmat() and then add. More efficient is using bsxfun(@plus,A,B)
2 个评论
Walter Roberson
2016-2-1
You have been inconsistent about your array sizes so I cannot tell which variable is which.
If your arrays were the shape of your 4x4 example then C = bsxfun(@plus, A, B)
That is the column vector first and the full array second
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Multidimensional Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!