MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Asked by Ahmed almansory
on 14 Apr 2013

*No products are associated with this question.*

Answer by Cedric Wannaz
on 14 Apr 2013

Edited by Cedric Wannaz
on 14 Apr 2013

Accepted answer

b_ext = repmat(b, 1, size(a, 2)) ; c = a + b_ext ;

Answer by James Tursa
on 14 Apr 2013

bsxfun(@plus,a,b)

Cedric Wannaz
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
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.

## 0 Comments