adding matrix to every column in other matrix

1 view (last 30 days)
hi all i have two matrix a 16x1024 and b 16x1 how i can adding b to every column in a ? thanks

Accepted Answer

Cedric
Cedric on 14 Apr 2013
Edited: Cedric on 14 Apr 2013
b_ext = repmat(b, 1, size(a, 2)) ;
c = a + b_ext ;

More Answers (1)

James Tursa
James Tursa on 14 Apr 2013
bsxfun(@plus,a,b)
  2 Comments
Cedric
Cedric on 14 Apr 2013
Edited: Cedric on 14 Apr 2013
+1
I don't understand why it is slower than REPMAT though in cases where size(a,2) is not too large .. I thought that it would kill repmat when I tested.
James Tursa
James Tursa on 14 Apr 2013
I haven't tested bsxfun much, but I am not surprised by the timing. I have read many accounts here for various problems and several times it has come up that explicit formulations in one way or another beat bsxfun for speed. For small problems like this one the timing is likely irrelevant anyway.

Sign in to comment.

Categories

Find more on Image Processing and Computer Vision in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!