Optimization! Divide a vector by each element of another vector!

1 view (last 30 days)
Dear all,
I would like to optimize my code which looks like this:
for n = 1:N
prt1(n,:) = exp(exp1/n^2);
end
exp1 is a vector of (1,2e4) and N = 2e4.
As you see the loop above works fine but the problem is heavy computation which takes extremely long time. Is there any way that I can vectorize n? By that I need to divide each element of exp1 by the 1st element of n and then 2nd, 3rd, ... nth element of n.
Any hint is appreciated :)
All the best
PS: Any good source in general for the MATLAB optimization??

Accepted Answer

Walter Roberson
Walter Roberson on 29 Nov 2013
prt1 = bsxfun(@rdivide, exp1, (1:N).');

More Answers (0)

Categories

Find more on Get Started with Optimization Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!