Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Multiplying each colum of my matrix by a constant
Replies: 13   Last Post: Jun 15, 2013 3:54 AM

 Messages: [ Previous | Next ]
 Steven Lord Posts: 18,038 Registered: 12/7/04
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 3-by-3 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
http://www.mathworks.com

Date Subject Author
6/11/13 Wanderson
6/11/13 dpb
6/11/13 Wanderson
6/11/13 dpb
6/11/13 Wanderson
6/11/13 dpb
6/12/13 dpb
6/12/13 Wanderson
6/12/13 Wanderson
6/12/13 dpb
6/12/13 Alan Weiss
6/12/13 dpb
6/13/13 Steven Lord
6/15/13 Bruno Luong