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 ]
 dpb Posts: 9,850 Registered: 6/7/07
Re: Multiplying each colum of my matrix by a constant
Posted: Jun 11, 2013 7:49 PM

On 6/11/2013 6:00 PM, Wanderson wrote:
> dpb <none@non.net> wrote in message <kp89gu\$ooe\$1@speranza.aioe.org>...
...

>> If you need speed, the straight-ahead loop is probably as good as
>> you're going to do w/o a specialized mex function. (I believe there
>> may be some submissions on File Exchange that do, in fact, promise
>> better performance than bsxfun iirc)
>>
>> --

>
> hehe, my problem is that I am doing a program that evaluates some double
> integrals, calculate FFT and whanever, but I have a NECESSARY big 'FOR
> LOOP' inside my program to store each value of these integrals in the
> right place. And I didn't want to use another loop inside my huge loop
> rsrsrs.

For 3x3 you can always try the explicit repmat() route, too for
comparative timings...

m.*repmat(v,size(m,1),1)

And, of course, if you're lucky enough that the v is a constant you
could obviously save it since memory isn't going to be an issue.

bsxfun() is essentially syntactic candy to save explicitly writing such
as the above but is basically all it is. Of course, it has the overhead
of processing inputs and all that. I've not tested but I'd suspect the
time differential would drop pretty quickly w/ size of the arrays as
compared to other implementation choices.

--

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