MATLAB: Multiply each column of n-by-m matrix by respective constants in m-by-1 vector

dot-multiplymatrixmultiplicationvector

Hi
I have an n-by-m matrix and an m-by-1 vector. I want to multiply each of the m columns in the matrix by a constant specified in my vector.
E.g. if I have a matrix A=[1,2;3,4;5,6] and a vector B=[0.5,2] I want to multiply all the elements in the first column of my matrix by 0.5 and alle the elements en the second column by 2. That is, I would like to get the result C=[0.5,4;1.5,8;2.5,12].
It can easily be done by a loop, but I would like to know if the is a faster way to do this. A built in functionality? Dot-multiply doesn't seem to do the trick 🙁
Thanks in advance!
– Jesper

Best Answer

C = bsxfun(@times,A,B);