
Re: Multiplying each colum of my matrix by a constant
Posted:
Jun 13, 2013 10:27 AM


"Alan_Weiss" <aweiss@mathworks.com> wrote in message news:kpa1og$ls0$1@newscl01ah.mathworks.com... > On 6/11/2013 4:59 PM, Wanderson wrote: >> Hello there, >> >> I'm trouble here, I'm sure that the solution isn't too hard to my >> problem, but I'm really stucked here and I can't see the light in end of >> the tunnel right now. >> >> I have matrix 3x3 and a vector 1x3 and I want to multiply each column of >> my matrix by each element of my vector, for example: >> >> If my matrix 3x3 is called M and my vector v is a 1x3 dimension: >> M(:,1) = M(:,1).*v(1); >> M(:,2) = M(:,2).*v(2); >> M(:,3) = M(:,3).*v(3); >> >> Ofc, I want to avoid use 'for loops'. >> >> Thx. > > If I understand you correctly, this should do what you want: > > M*diag(v)
That works in this 3by3 case, but you wouldn't want to do this for a very large matrix M and a correspondingly long v. For that, the FOR loop approach may win out, and it would be up to the OP to determine around what problem sizes it would pay to switch between the two approaches.
 Steve Lord slord@mathworks.com To contact Technical Support use the Contact Us link on http://www.mathworks.com

