The Math Forum

Search All of the Math Forum:

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

Math Forum » Discussions » Software » comp.soft-sys.matlab

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

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   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
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

"Alan_Weiss" <> wrote in message
> 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
To contact Technical Support use the Contact Us link on

Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum at NCTM 1994-2018. All Rights Reserved.